RoleManager崩溃应用程序asp.net MVC WebApi

时间:2016-03-24 15:07:28

标签: c# asp.net asp.net-mvc-4 asp.net-web-api roles

我的RoleManager无法连接到数据库 没有它,我的应用程序的角色在我的ASP.net MVC webApi应用程序中正常工作,但是如果没有将RoleManager添加到WebConfig,我就无法获得用户的角色

这是包含RoleManager定义的webconfig的一部分

<system.web>
<roleManager enabled="true">
  <providers>
    <add name="newprovider"
         type="System.Web.Security.SqlMembershipProvider"
         minRequiredNonalphanumericCharacters="0"
         connectionStringName="DefaultConnection"/>
  </providers>
</roleManager>
<customErrors defaultRedirect="Error.aspx" mode="On">
  <error statusCode="401" redirect="~" />
  <error statusCode="403" redirect="Forbidden.aspx" />
</customErrors>
<authentication mode="None" />
<compilation debug="true" targetFramework="4.5.2" />
<httpRuntime targetFramework="4.5.2" />
  <httpModules>
    <add name="ApplicationInsightsWebTracking" type="Microsoft.ApplicationInsights.Web.ApplicationInsightsHttpModule, Microsoft.AI.Web" />
  </httpModules>
</system.web>

这是我在RolesController中的代码

[Authorize]
public class RolesController : ApiController
{
    // GET: api/Roles
    public IEnumerable<string> Get()
    {
        string[] roleNames = Roles.GetRolesForUser();
        return roleNames;
    }
}

当我在WebConfig中有RoleManager部分时,我的应用程序甚至没有显示索引页面,它显示错误:

运行时错误 描述:处理您的请求时发生异常。此外,执行第一个异常的自定义错误页面时发生另一个异常。请求已终止。

编辑:现在在第20行显示错误:type =“System.Web.Security.SqlMembershipProvider”

0 个答案:

没有答案