我正在尝试在我的网站中实现 Asp.net 表单身份验证。通常,您在 web.config 中提供数据库连接字符串的名称。然而,由于我们的数据库设置有点复杂,我一直在寻找一种在代码中手动向 MembershipProvider 提供连接字符串的方法。
Thanks!
你不必使用connectionStringName
for SqlMembershipProvider
,您可以直接提供连接字符串。 IE。代替:
<membership defaultProvider="SqlProvider" ...>
<providers>
<add name="SqlProvider" type="System.Web.Security.SqlMembershipProvider"
connectionStringName="MyConnectionStringName"
.../>
</providers>
</membership>
您可以直接将连接字符串指定为:
<membership defaultProvider="SqlProvider" ...>
<providers>
<add name="SqlProvider" type="System.Web.Security.SqlMembershipProvider"
connectionString="data source=... "
.../>
</providers>
</membership>
因此,您还可以从 SqlMembershipProvider 派生自定义提供程序,并动态构建连接字符串,如下所示:
public class MySqlMembershipProvider : SqlMembershipProvider
{
public override void Initialize(string name, NameValueCollection config)
{
config["connectionString"] = BuildMyCustomConnectionString();
base.Initialize(name, config);
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)