private void CreateAuthenticationTicket(string username) { //kamus Business.Entities.Role role; List<Business.Entities.Module> modules; List<Business.Entities.Action> actions; List<ModuleAction> appModules = new List<ModuleAction>(); string[] roleNames; //algoritma //get module & action roleNames = Roles.GetRolesForUser(username); foreach (string roleName in roleNames) { role = roleRepo.FindByName(roleName); modules = role.ModulesInRoles.Select(m => m.Module).ToList(); foreach (Business.Entities.Module module in modules) { actions = module.Actions.ToList(); foreach (Business.Entities.Action action in actions) { appModules.Add(new ModuleAction { ModuleName = module.ModuleName, ActionName = action.ActionName }); } } } CustomPrincipalSerializeModel serializeModel = new CustomPrincipalSerializeModel(); serializeModel.Modules = appModules; JavaScriptSerializer serializer = new JavaScriptSerializer(); string userData = serializer.Serialize(serializeModel); FormsAuthenticationTicket authTicket = new FormsAuthenticationTicket( 1, username, DateTime.Now, DateTime.Now.AddHours(8), false, userData); string encTicket = FormsAuthentication.Encrypt(authTicket); HttpCookie faCookie = new HttpCookie(FormsAuthentication.FormsCookieName, encTicket); Response.Cookies.Add(faCookie); }
public void Parse(CustomPrincipalSerializeModel serializeModel) { this.IdOwner = serializeModel.IdOwner; this.OwnerName = serializeModel.OwnerName; this.Modules = serializeModel.Modules; }