コード例 #1
0
        public HttpResponseMessage Login([FromUri] LoginStruct parameters)
        {
            try
            {
                var response = new HttpResponseMessage(HttpStatusCode.OK);
                //var response = new HttpResponseMessage(HttpStatusCode.OK);
                var responseContent = "userName="******";" + "role=" + UserRoles.GetUserRole(parameters.user);
                // авторизация
                // AD authorization disabled or user exists in Active Directory
                if (BASampleConfig.AD_Off() || Membership.ValidateUser(parameters.user, parameters.password))
                {
                    // authorization timeout: at 8:00 or 20:00;
                    DateTime endAuthTime;
                    var      now = DateTime.Now;
                    if (now.TimeOfDay >= TimeSpan.FromHours(8) && now.TimeOfDay <= TimeSpan.FromHours(20))
                    {
                        endAuthTime = now.Date + TimeSpan.FromHours(20);
                    }
                    else
                    if (now.TimeOfDay < TimeSpan.FromHours(8))
                    {
                        endAuthTime = now.Date + TimeSpan.FromHours(8);
                    }
                    else
                    {
                        endAuthTime = now.Date.AddDays(1) + TimeSpan.FromHours(8);
                    }
                    FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(1,
                                                                                     parameters.user,
                                                                                     DateTime.Now,
                                                                                     endAuthTime,
                                                                                     true,
                                                                                     "content",
                                                                                     FormsAuthentication.FormsCookiePath);
                    string encTicket  = FormsAuthentication.Encrypt(ticket);
                    var    userCookie = new HttpCookie(FormsAuthentication.FormsCookieName, encTicket);

                    userCookie.Expires = DateTime.Now.AddYears(15);
                    HttpContext.Current.Response.Cookies.Set(userCookie);

                    response.Content = new StringContent("userName="******";" + "role=" + UserRoles.GetUserRole(parameters.user));
                    return(response);
                }
                else
                {
                    response.Content = new StringContent("fail");
                    return(response);
                }
            }
            catch (Exception e)
            {
                var response = new HttpResponseMessage(HttpStatusCode.OK);
                response.Content = new StringContent(e.Message + " stack: " + e.StackTrace + e.InnerException == null? "": (" inner:" + e.Message + " stack: " + e.StackTrace));
                return(response);
            }
        }
コード例 #2
0
        public HttpResponseMessage GPUStopReport([FromUri] GPUStopRepParams parameters)
        {
            // запросить отчет
            var par = new List <JsReportParameter>();

            if (parameters.GPUName != null)
            {
                par.Add(new JsReportParameter()
                {
                    name = "objFilterOn", value = 1
                });
                par.Add(new JsReportParameter()
                {
                    name = "objName", value = parameters.GPUName
                });
            }
            if (parameters.CauseType != null)
            {
                par.Add(new JsReportParameter()
                {
                    name = "typeFilterOn", value = 1
                });
                par.Add(new JsReportParameter()
                {
                    name = "typicalId", value = parameters.CauseType
                });
            }
            if (parameters.FailType != null)
            {
                par.Add(new JsReportParameter()
                {
                    name = "failFilterOn", value = 1
                });
                par.Add(new JsReportParameter()
                {
                    name = "failType", value = parameters.FailType
                });
            }
            if (parameters.StartTime != null)
            {
                par.Add(new JsReportParameter()
                {
                    name = "timeFilterOn", value = 1
                });
                par.Add(new JsReportParameter()
                {
                    name = "timeStart", value = parameters.StartTime
                });
                par.Add(new JsReportParameter()
                {
                    name = "timeEnd", value = parameters.EndTime
                });
            }
            Stream rep = JasperHttpHelper.GetReportAsPdf("santaReport", par.ToArray(), BASampleConfig.GetJasperPort());
            // to return the report
            var response = new HttpResponseMessage(HttpStatusCode.OK);

            response.Content = new StreamContent(rep);
            response.Content.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/pdf");
            return(response);
        }