MVC运行时错误 - 角色管理器功能尚未启用 [英] Mvc Runtime error - The Role Manager feature has not been enabled

查看:597
本文介绍了MVC运行时错误 - 角色管理器功能尚未启用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图手动实现基本角色管理。当用户登录时,如果他们是admin或不将它们添加到角色

I am trying to implement basic role management manually. When a user logs in if they are admin or not they are added to a role

我收到此错误:异常详细信息:System.Configuration.Provider.ProviderException:角色管理器功能尚未启用

这是导致错误的方法:

 public void addUserToRole(String user, String role)
        {
            if (!Roles.RoleExists(role))
                Roles.CreateRole(role);

            Roles.AddUserToRole(user, role);
        }

下面是我的web.config

here is my web.config

 <profile defaultProvider="DefaultProfileProvider">
      <providers>
        <add name="DefaultProfileProvider" type="System.Web.Providers.DefaultProfileProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=xxxxxxxxxxxxxxx" connectionStringName="DefaultConnection" applicationName="/" />
      </providers>
    </profile>
    <membership defaultProvider="DefaultMembershipProvider">
      <providers>
        <add name="DefaultMembershipProvider" type="System.Web.Providers.DefaultMembershipProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=xxxxxxxxxxxxx" connectionStringName="DefaultConnection" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="/" />
      </providers>
    </membership>
    <roleManager defaultProvider="DefaultRoleProvider">
      <providers>
        <add name="DefaultRoleProvider" type="System.Web.Providers.DefaultRoleProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=xxxxxxxxxxxxxx" connectionStringName="DefaultConnection" applicationName="/" />
      </providers>
    </roleManager>
    <sessionState mode="InProc" customProvider="DefaultSessionProvider">
      <providers>
        <add name="DefaultSessionProvider" type="System.Web.Providers.DefaultSessionStateProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=xxxxxxxxxxxx" connectionStringName="DefaultConnection" />
      </providers>
    </sessionState>

对谷歌的答案包括添加不同的角色

我已经看到一些在web.conf属性,到目前为止没有运气

I've seen number of answers on google including adding different role attributes in web.conf, so far no luck

可以有人请帮助?

推荐答案

默认情况下,角色管理器被禁用,所以你必须明确地启用它:

By default the role manger is disabled, so you have to enable it explicitly:

<roleManager enabled="true" defaultProvider="DefaultRoleProvider">

这篇关于MVC运行时错误 - 角色管理器功能尚未启用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆