我想在我的asp.net mvc网站中使用表单身份验证。
我可以使用已存在的sql db(在远程服务器上)吗?如何配置站点以使用此数据库进行身份验证?我需要/用于哪些表进行身份验证?
答案 0 :(得分:4)
你可以。检查Windows \ Microsoft.NET \ Framework \ v2.xxx文件夹中的aspnet_regsql.exe
程序参数,特别是sqlexportonly
。
创建所需的表后,您可以配置:在web.config文件中创建连接字符串,然后设置MemberShipProvider以使用此连接字符串:
<connectionStrings>
<add name="MyLocalSQLServer" connectionString="Initial Catalog=aspnetdb;data source=servername;uid=whatever;pwd=whatever;"/>
</connectionStrings>
<authentication mode="Forms">
<forms name="SqlAuthCookie" timeout="10" loginUrl="Login.aspx"/>
</authentication>
<authorization>
<deny users="?"/>
<allow users="*"/>
</authorization>
<membership defaultProvider="MySqlMembershipProvider">
<providers>
<clear/>
<add name="MySqlMembershipProvider" connectionStringName="MyLocalSQLServer" applicationName="MyAppName" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
</providers>
</membership>
Ps:关于整个概念here,有一些非常好的文章。
答案 1 :(得分:1)
最简单的方法是只使用aspnet_regsql.exe应用程序的windows界面。
您可以在c:\ windows \ microsoft.net \ framework \ v2.0.50727文件夹中找到它。
只需键入aspnet_regsql.exe,它就会打开一个向导,这样就不需要记住任何命令行开关了。