我试图获得对asp.net mvc4的授权,所以我尝试使用WebSecurity。
WebSecurity.InitializeDatabaseConnection("tradefairindia", "Users", "Id", "Username", false);
我已将其放入Global.asax,这是错误发生的地方,“找不到默认角色提供程序”。
在互联网上,我读到我必须将这行代码添加到我的web.config
<roleManager enabled="true" defaultProvider="AspNetSqlRoleProvider">
中。但由于先前的错误,我已经添加了它。我该如何解决这个问题?
编辑:
当我将其更改为
defaultProvider="SimpleRoleProvider"
时,它给了我一个新的错误。它说The type or namespace name 'Data' does not exist in the namespace 'WebMatrix' (are you missing an assembly reference?)
最佳答案
我通过将defaultProvider
更改为SimpleRoleProvider
来修复它。我通过添加Webmatrix.data作为引用并转到其属性并将本地副本设置为true来解决第二个错误。我不知道如何解决此问题,如果有人可以详细说明,那将是很好的。
这是我的web.config,适用于碰到相同问题的任何人:
<system.web>
//...
<membership defaultProvider="SimpleMembershipProvider">
<providers>
<clear />
<add name="SimpleMembershipProvider" type="WebMatrix.WebData.SimpleMembershipProvider, WebMatrix.WebData" />
</providers>
</membership>
<roleManager enabled="true" defaultProvider="SimpleRoleProvider">
<providers>
<clear />
<add name="SimpleRoleProvider" type="WebMatrix.WebData.SimpleRoleProvider, WebMatrix.WebData" />
</providers>
</roleManager>
//...
</system.web>
关于asp.net-mvc-4 - 使用SimpleMembershipProvider时找不到默认角色提供程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17980030/