【发布时间】:2013-10-21 15:28:23
【问题描述】:
我在 .NET Framework 4 项目中使用了标准的 VS 2012 MVC 4 Internet 模板。我主要使用外部登录(Google、Microsoft、Facebook、Yahoo、Twitter)来访问我的应用程序中使用 [Authorize] 属性装饰的部分。
[我注意到的一件事是 VS 创建的默认 web.config 不包含任何有关成员资格或角色提供者的部分,这与我在 ASP.NET Web 表单应用程序中看到的不同。]
我将项目部署到 azurewebsites.net 站点。最初一切正常,但在使用一段时间后,该应用程序将抛出异常,因为它尝试使用服务器的机器配置文件使用名为 LocalSqlServer 的连接字符串访问 SqlMembershipProvider。
Q1:SqlMembershipProvider 与 SimpleMembership 提供者有何关系?
无论如何,我在 web.config 中创建了一个 LocalSqlServer 访问 machine.config 中的SqlRoleProvider!我尝试将带有
第二季度。 .NET Framework 4.0 MVC 4 应用程序中用于 SimpleMembership 角色提供程序的程序集是什么?
我试过了:
System.Web.Security.SqlRoleProvider, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
但它带来了另一个问题,那就是Could not find stored procedure 'dbo.aspnet_CheckSchemaVersion'。在我运行 aspnet_regsql.exe 之前我想问一下:
Q3:为什么标准app运行一段时间后就开始找SqlMembershipProvider和SqlRoleProvider了?
有人在玩弄服务器上的设置吗?
【问题讨论】:
-
在使用基于角色的安全性时,请参阅this post 这可能会有所帮助。
标签: simplemembership