1 using Projects.Models;
3 using System.Collections.Generic;
7 using System.Web.Optimization;
8 using System.Web.Routing;
9 using System.Web.Security;
10 using System.Web.Http;
11 using System.Web.Routing;
15 public class MvcApplication : System.Web.HttpApplication
17 protected void Application_Start()
19 GlobalConfiguration.Configure(WebApiConfig.Register);
21 AreaRegistration.RegisterAllAreas();
22 FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
23 RouteConfig.RegisterRoutes(RouteTable.Routes);
24 BundleConfig.RegisterBundles(BundleTable.Bundles);
26 var formatters = GlobalConfiguration.Configuration.Formatters;
27 formatters.Remove(formatters.XmlFormatter);
30 var json = formatters.JsonFormatter;
31 json.SerializerSettings.PreserveReferencesHandling = Newtonsoft.Json.PreserveReferencesHandling.None;
32 json.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore;
33 json.SerializerSettings.Formatting = Newtonsoft.Json.Formatting.Indented;
36 protected void Application_PostAuthenticateRequest(Object sender, EventArgs e)
38 if (FormsAuthentication.CookiesSupported == true)
40 if (Request.Cookies[FormsAuthentication.FormsCookieName] != null)
44 //let us take out the username now
45 string username = FormsAuthentication.Decrypt(Request.Cookies[FormsAuthentication.FormsCookieName].Value).Name;
46 string roles = string.Empty;
48 using (ProjectsDBEntities entities = new ProjectsDBEntities())
50 User user = entities.Users.SingleOrDefault(u => u.login == username);
52 roles = user.UserRole.role.Trim();
54 //let us extract the roles from our own custom cookie
57 //Let us set the Pricipal with our user specific details
58 HttpContext.Current.User = new System.Security.Principal.GenericPrincipal(
59 new System.Security.Principal.GenericIdentity(username, "Forms"), roles.Split(';'));
63 //somehting went wrong