希望您能帮助我解决我的 SimpleMembershipProvider 面临的一个特殊问题。
我有一个 MVC4 应用程序,它使用 SimpleMembership 功能来存储用户和角色信息。这一切都可以在前端 MVC4 应用程序中完美运行。
我们还有一个 Web 服务,它将调用相同的 SimpleMembershipProvider 以使用标准 ValidateUser() 方法从移动应用程序验证用户凭据。
但是,在使用 ValidateUser() 方法之前,我需要使用 WebSecurity.InitializeDatabaseConnection 方法初始化我的 WebSecurity 对象。这导致以下错误:
“角色管理器功能尚未启用。”
我在服务启动中初始化 WebSecurity 对象,使用从我的门户中提取的相同代码:
if (!WebSecurity.Initialized)
{
WebSecurity.InitializeDatabaseConnection("PortalContext", "UserProfile", "UserId", "UserName", autoCreateTables: true);
}
我检查了我的 web 服务的 web.config 是否包含 appSettings 键
<add key="enableSimpleMembership" value="true" />
我还在 web.config 的 system.web 部分中包含了角色管理器和成员资格详细信息。
<roleManager enabled="true" defaultProvider="SimpleRoleProvider">
<providers>
<clear />
<add name="SimpleRoleProvider" type="WebMatrix.WebData.SimpleRoleProvider, WebMatrix.WebData" />
</providers>
</roleManager>
<membership defaultProvider="SimpleMembershipProvider">
<providers>
<clear />
<add name="SimpleMembershipProvider" type="WebMatrix.WebData.SimpleMembershipProvider, WebMatrix.WebData" />
</providers>
</membership>
我现在完全不知所措,整个上午都在谷歌上搜索可能的解决方案。
谁能想到可能发生这种情况的原因?