角色& # 39;& # 39;没有找到

本文关键字:角色 | 更新日期: 2023-09-27 18:15:50

我在mvc 4应用程序中添加新角色…但每次它给出Error

这是我的寄存器方法

 //
        // POST: /Account/Register
         [AllowAnonymous]
        [HttpPost]
        public ActionResult Register(RegisterModel model)
        {
            if (ModelState.IsValid)
            {
                object x = Membership.GetUser(model.UserName);
                if (Membership.GetUser(model.UserName) == null)
                {
                    // Attempt to register the user
                    MembershipCreateStatus createStatus;
                    Membership.CreateUser(model.UserName, model.Password, model.Email, null, null, true, null,
                        out createStatus);
                    if (createStatus == MembershipCreateStatus.Success)
                    {

                        Roles.AddUserToRole(model.UserName, model.Role);
 //model.Role is the DropDown Selected Text.. its value is 'Admin'
                        FormsAuthentication.SetAuthCookie(model.UserName,   
   false /* createPersistentCookie */);
                        return RedirectToAction("Index", "EUT");
                    }
                    else
                    {
                        ModelState.AddModelError("",  
     ErrorCodeToString(createStatus));
                    }
                }
                else
                {
                    ModelState.AddModelError("", "User Already exists");
                }
            }
            // If we got this far, something failed, redisplay form
            return View(model);
        }

在我的Web配置

 <membership>
      <providers>
        <clear/>
        <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="ApplicationServices"
             enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false"
             maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10"
             applicationName="/" />
      </providers>
    </membership>
    <profile>
      <providers>
        <clear/>
        <add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="ApplicationServices" applicationName="/" />
      </providers>
    </profile>
    <roleManager enabled="true"  defaultProvider="AspNetSqlRoleProvider"
                                    cacheRolesInCookie="true"
                                    cookieName=".myroles"
                                    cookieTimeout="30"
                                    cookieSlidingExpiration="true"
                                    cookieProtection="All">
      <providers>
        <clear/>
        <add name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="ApplicationServices" applicationName="/" />
        <add name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider" applicationName="/" />
      </providers>
    </roleManager>

我看到过类似的帖子:

在注册(表单认证)MVC3上添加用户角色

注册字符串时向角色添加用户失败。净MVC3

只添加角色

在尝试绑定选定的值与模型属性…

任何建议都会有帮助

角色& # 39;& # 39;没有找到

您可以检查该角色是否存在,如果不存在则添加该角色:

var adminRoleExists = Roles.RoleExists(AppRoles.Admin.ToString());
if (!adminRoleExists)
{
    Roles.CreateRole(AppRoles.Admin.ToString());
}