C# 启用角色管理器mvc5

C# 启用角色管理器mvc5,c#,asp.net-mvc,web-config,asp.net-mvc-5,C#,Asp.net Mvc,Web Config,Asp.net Mvc 5,我有一个MVC5项目 我想使用角色。GetAllRoles() 但是我得到了系统.Configuration.Provider.Exception 我试图通过修改Web.Config来解决这个问题,但还是出现了错误 <appSettings> <add key="webpages:Version" value="3.0.0.0" /> <add key="webpages:Enabled" value="false" /> <add key="Clien

我有一个MVC5项目

我想使用
角色。GetAllRoles()

但是我得到了
系统.Configuration.Provider.Exception

我试图通过修改
Web.Config
来解决这个问题,但还是出现了错误

<appSettings>
<add key="webpages:Version" value="3.0.0.0" />
<add key="webpages:Enabled" value="false" />
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
</appSettings>
<system.web>
<roleManager defaultProvider="CustomRoleProvider">
  <providers>
    <clear />
    <add name="CustomRoleProvider" type="MyProjekt.CustomRoleProvider" />
  </providers>
</roleManager>    
<authentication mode="None" />
<compilation debug="true" targetFramework="4.5.1" />

我还试图补充一点

<roleManager 
enabled="true" 
cacheRolesInCookie="true" >

但是我得到了

中发生类型为“System.Web.HttpException”的异常 System.Web.dll,但未在用户代码中处理

其他信息:与SQL Server数据库没有连接


有一段时间我被这个角色所困扰。IsUserInRole(“Admin”)让我开始寻找角色提供者等。我应该只是使用User.IsInRole(“Admin”)
下面是一篇关于启用角色的有用文章

我知道这可能与您的问题无关,但我刚刚发现如何找到指定给特定用户的角色:

    Dim userInfo = UserManager.FindById(User.Identity.GetUserId())
    Dim userRole As String = userInfo.Roles(0).RoleId
    Dim thisRole As String = db.Roles.Where(Function(x) x.Id = userRole).FirstOrDefault().Name

这让我烦了一段时间,所以我不得不把它弄出来

有帮助吗?[InitializeSimpleMembership]缺少。。。我怎么能做到这一点?你使用SimpleMembershipProvider对吗?我在Mvc 5中使用个人用户帐户,如果我使用SimpleMembershipProviders,我现在不知道