RoleExists() 공개 메소드

public RoleExists ( string roleName ) : bool
roleName string
리턴 bool
예제 #1
0
        public JsonResult AddUserRole(Role role)
        {
            var result = new JsonResult()
            {
                Data = new
                {
                    success = false,
                    message = "There was an error processing your request."
                }
            };
            var cfrp = new CodeFirstRoleProvider(Context);

            var success = 0;

            if (cfrp.RoleExists(role.RoleName))
            {
                // bail
                return(result);
            }

            var NewRole = new Role
            {
                RoleId      = Guid.NewGuid(),
                RoleName    = role.RoleName,
                Permissions = new List <Permission>()
            };

            if (role.Permissions != null)
            {
                foreach (var permission in role.Permissions)
                {
                    var existingPermission = Context.Permissions.FirstOrDefault(x => x.PermissionId == permission.PermissionId);
                    if (existingPermission != null)
                    {
                        NewRole.Permissions.Add(existingPermission);
                    }
                }
            }
            Context.Roles.Add(NewRole);
            success = Context.SaveChanges();

            // Add to WebSecurity as well
            Roles.CreateRole(role.RoleName);

            if (success > 0)
            {
                result.Data = new
                {
                    success = true,
                    message = "Role added successfully."
                };
            }
            return(result);
        }
예제 #2
0
        public JsonResult AddUserRole(Role role)
        {
            var result = new JsonResult()
            {
                Data = new
                {
                    success = false,
                    message = "There was an error processing your request."
                }
            };
            var cfrp = new CodeFirstRoleProvider(Context);

            var success = 0;

            if (cfrp.RoleExists(role.RoleName))
            {
                // bail
                return result;
            }

            var NewRole = new Role
            {
                RoleId = Guid.NewGuid(),
                RoleName = role.RoleName,
                Permissions = new List<Permission>()
            };
            if (role.Permissions != null)
            {
                foreach (var permission in role.Permissions)
                {
                    var existingPermission = Context.Permissions.FirstOrDefault(x => x.PermissionId == permission.PermissionId);
                    if (existingPermission != null)
                    {
                        NewRole.Permissions.Add(existingPermission);
                    }
                }
            }
            Context.Roles.Add(NewRole);
            success = Context.SaveChanges();

            // Add to WebSecurity as well
            Roles.CreateRole(role.RoleName);

            if (success > 0)
            {
                result.Data = new
                {
                    success = true,
                    message = "Role added successfully."
                };
            }
            return result;
        }
예제 #3
0
        public ActionResult ClientRegister(ClientRegister form)
        {
            ClientRegister details = new ClientRegister();

            details = form;
            int enqID = Convert.ToInt32(TempData["EnquiryIdClient"]);
            //RegisterModel regMod = new RegisterModel();
            //AccountController accController = new AccountController();
            Enquiry enq = new Enquiry();

            enq = enquiryRepository.Find(enqID);
            //regMod.UserName = enq.Contact.ContactEmail;
            string Password = PasswordGeneration(enq.Contact.ContactName, enq.Contact.MobileNumber);
            //regMod.Email = enq.Contact.ContactEmail;
            //accController.Register(regMod);
            MembershipCreateStatus      createStatus;
            CodeFirstMembershipProvider provider = new CodeFirstMembershipProvider();

            provider.CreateAccount(enq.Contact.ContactEmail, Password, enq.Contact.ContactEmail, out createStatus);
            CodeFirstRoleProvider roleProvider = new CodeFirstRoleProvider();

            if (createStatus == MembershipCreateStatus.Success)
            {
                if (!roleProvider.RoleExists("Client"))
                {
                    roleProvider.CreateRole("Client");
                }

                string[] roles = { "Client" };
                string[] users = { enq.Contact.ContactEmail.ToString() };
                roleProvider.AddUsersToRoles(users, roles);
            }
            details.EnquiryID = Convert.ToInt32(TempData["EnquiryIdClient"]);
            details.ContactID = enq.ContactID; // Please see this--Pankaj
            clientRegisterRepository.InsertOrUpdate(details);
            clientRegisterRepository.Save();
            return(RedirectToAction("Details", new { id = details.EnquiryID }));
        }
        public ActionResult Register(RegisterModel model)
        {
            if (ModelState.IsValid)
            {
                // Attempt to register the user
                try
                {
                    var cfrp = new CodeFirstRoleProvider();

                    WebSecurity.CreateUserAndAccount(model.UserName, model.Password);
                    WebSecurity.Login(model.UserName, model.Password);

                    // By default add the user to the admin group, unless user has specified another group in the settings area
                    string defaultRole = "Administrators";
                    using (var context = new DataContext())
                    {
                        var siteSettings = context.SiteSettings.FirstOrDefault();
                        if (siteSettings != null && !String.IsNullOrEmpty(siteSettings.DefaultUserRole))
                        {
                            defaultRole = siteSettings.DefaultUserRole;
                        }
                    }

                    // Now check if user entered a registration Code.
                    // Registration Codes allow users to be inserted into a non-default role
                    if (!String.IsNullOrEmpty(model.RegistrationCode))
                    {
                        // Check for a Role that has this registration code
                        using (var context = new DataContext())
                        {
                            var role = context.Roles.FirstOrDefault(x => x.RegistrationCode == model.RegistrationCode);
                            if (role != null)
                            {
                                defaultRole = role.RoleName;
                            }
                        }
                    }

                    // Make sure roll exists
                    if (!Roles.RoleExists(defaultRole))
                    {
                        Roles.CreateRole(defaultRole);
                    }

                    // Double Check CodeFirst Provider
                    if (!cfrp.RoleExists(defaultRole))
                    {
                        cfrp.CreateRole(defaultRole);
                    }

                    // Sanity Check
                    if (!Roles.IsUserInRole(model.UserName, defaultRole))
                    {
                        Roles.AddUserToRole(model.UserName, defaultRole);
                    }
                    // Add to CodeFirst as well
                    cfrp.AddUsersToRoles(new string[] { model.UserName }, new string[] { defaultRole });

                    return RedirectToAction("Index", "Admin");
                }
                catch (MembershipCreateUserException e)
                {
                    ModelState.AddModelError("", ErrorCodeToString(e.StatusCode));
                }
            }

            // If we got this far, something failed, redisplay form
            return View(model);
        }
예제 #5
0
        public static bool RoleExist(string role)
        {
            CodeFirstRoleProvider rp = new CodeFirstRoleProvider();

            return(rp.RoleExists(role));
        }
예제 #6
0
        public JsonResult AddUserRole(Role role)
        {
            var result = new JsonResult();
            var cfrp = new CodeFirstRoleProvider();

            if (cfrp.RoleExists(role.RoleName))
            {
                // bail
                return result;
            }

            using (var context = new DataContext())
            {
                var NewRole = new Role
                {
                    RoleId = Guid.NewGuid(),
                    RoleName = role.RoleName,
                    Permissions = role.Permissions
                };
                context.Roles.Add(NewRole);
                context.SaveChanges();
            }

            // Add to WebSecurity as well
            Roles.CreateRole(role.RoleName);

            return result;
        }