Example #1
0
        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);
        }
Example #2
0
 public void Parse(CustomPrincipalSerializeModel serializeModel)
 {
     this.IdOwner   = serializeModel.IdOwner;
     this.OwnerName = serializeModel.OwnerName;
     this.Modules   = serializeModel.Modules;
 }