1 using Projects.Models;
3 using System.Collections.Generic;
7 using System.Web.Optimization;
8 using System.Web.Routing;
9 using System.Web.Security;
13 public class MvcApplication : System.Web.HttpApplication
15 protected void Application_Start()
17 AreaRegistration.RegisterAllAreas();
18 FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
19 RouteConfig.RegisterRoutes(RouteTable.Routes);
20 BundleConfig.RegisterBundles(BundleTable.Bundles);
23 protected void Application_PostAuthenticateRequest(Object sender, EventArgs e)
25 if (FormsAuthentication.CookiesSupported == true)
27 if (Request.Cookies[FormsAuthentication.FormsCookieName] != null)
31 //let us take out the username now
32 string username = FormsAuthentication.Decrypt(Request.Cookies[FormsAuthentication.FormsCookieName].Value).Name;
33 string roles = string.Empty;
35 using (ProjectsDBEntities entities = new ProjectsDBEntities())
37 User user = entities.Users.SingleOrDefault(u => u.login == username);
39 roles = user.UserRole.role.Trim();
41 //let us extract the roles from our own custom cookie
44 //Let us set the Pricipal with our user specific details
45 HttpContext.Current.User = new System.Security.Principal.GenericPrincipal(
46 new System.Security.Principal.GenericIdentity(username, "Forms"), roles.Split(';'));
50 //somehting went wrong