【问题标题】:SecurityGuard connections to databaseSecurityGuard 与数据库的连接
【发布时间】:2013-12-12 19:10:01
【问题描述】:
我正在将 SecurityGuard 集成到我的 C# MS-MVC4 项目中。 (SG 链接:https://github.com/kahanu/Security-Guard)我们使用的是数据库优先的方法,并且已经建立了一个用户表。
我已将connectionString 设置为指向项目数据库,并将连接名称复制到任何需要它的地方。
但是,我没有找到有关如何连接到数据库的文档。我发现最多的是“运行 MVC 安装程序”,但它抛出了这个:
`创建角色时出错:提供者未返回 ProviderManifestToken 字符串。
那么我该如何连接 SecurityGuard 和项目呢?
另外,我想知道 SG 使用的Role 表中要放入哪些字段。同样,我没有找到这方面的文档。
【问题讨论】:
标签:
c#
asp.net-mvc-4
sql-server-2012
【解决方案1】:
我(或 MVC 安装程序)将以下设置放入 web.config 中,<system.web> 内:
<profile defaultProvider="DefaultProfileProvider">
<providers>
<add name="DefaultProfileProvider" type="System.Web.Providers.DefaultProfileProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="MembershipConnection" applicationName="(Application)" />
</providers>
</profile>
<membership defaultProvider="DefaultMembershipProvider">
<providers>
<add name="DefaultMembershipProvider" type="System.Web.Providers.DefaultMembershipProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="MembershipConnection" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="true" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="(Application)" />
</providers>
</membership>
<roleManager enabled="true" defaultProvider="DefaultRoleProvider">
<providers>
<add name="DefaultRoleProvider" type="System.Web.Providers.DefaultRoleProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="MembershipConnection" applicationName="(Application)" />
</providers>
</roleManager>
然后我将 connectionStringName 设置为我想要的连接。然后,代码优先模式创建了标准的成员资格提供程序表。