我正在尝试使用asp.net mvc4进行授权,所以我尝试使用WebSecurity。
WebSecurity.InitializeDatabaseConnection("tradefairindia", "Users", "Id", "Username", false);
我把它放到Global.asax中,这就是错误发生的地方,“无法找到默认角色提供程序”。
在互联网上,我读到我必须将这行代码添加到我的web.config <roleManager enabled="true" defaultProvider="AspNetSqlRoleProvider">
。但由于以前的错误,我已经添加了它。
如何解决此问题?
修改
当我将其更改为defaultProvider="SimpleRoleProvider"
时,它会给我一个新错误。它说
名称空间'WebMatrix'中不存在类型或命名空间名称'Data'(您是否缺少程序集引用?)
答案 0 :(得分:18)
我通过将defaultProvider
更改为SimpleRoleProvider
来修复此问题。我通过添加Webmatrix.data作为参考来修复第二个错误,并转到其属性并将copy local置于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>