예제 #1
0
        public virtual ActionResult GrantRolesToUser(string userName, string roles)
        {
            JsonResponse response = new JsonResponse();

            if (string.IsNullOrEmpty(userName))
            {
                response.Success = false;
                response.Message = "The userName is missing.";
                return(Json(response));
            }

            string[] roleNames = roles.Substring(0, roles.Length - 1).Split(',');

            if (roleNames.Length == 0)
            {
                response.Success = false;
                response.Message = "No roles have been granted to the user.";
                return(Json(response));
            }

            try
            {
                roleService.AddUserToRoles(userName, roleNames);

                response.Success = true;
                response.Message = "The Role(s) has been GRANTED successfully to " + userName;
            }
            catch (Exception)
            {
                response.Success = false;
                response.Message = "There was a problem adding the user to the roles.";
            }

            return(Json(response));
        }
예제 #2
0
        public virtual ActionResult GrantRolesToUser(string userName, string roles)
        {
            JsonResponse response = new JsonResponse();

            if (string.IsNullOrEmpty(userName))
            {
                response.Success = false;
                response.Message = "The userName is missing.";
                return(Json(response));
            }

            string[] roleNames = roles.Substring(0, roles.Length - 1).Split(',');

            if (roleNames.Length == 0)
            {
                response.Success = false;
                response.Message = "No roles have been granted to the user.";
                return(Json(response));
            }


            try
            {
                foreach (string roleName in roleNames)
                {
                    if (!string.IsNullOrEmpty(roleName))
                    {
                        string[] userRoles = roleService.GetRolesForUser(userName);
                        bool     hasRole   = false;
                        foreach (string userRole in userRoles)
                        {
                            if (userRole == roleName)
                            {
                                hasRole = true;
                            }
                        }
                        if (!hasRole)
                        {
                            roleService.AddUserToRoles(userName, roleNames);
                        }
                    }
                }
                response.Success = true;
                response.Message = "The Role(s) has been GRANTED successfully to " + userName;
            }
            catch (Exception e)
            {
                response.Success = false;
                response.Message = e.Message + "\r\n" + e.StackTrace;
            }



            return(Json(response));
        }