我的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”