在的MembershipProvider code更改连接字符串 [英] MembershipProvider change connection string in code
问题描述
我想实现Asp.net窗体身份验证在我的网站。通常情况下,你在你的web.config提供您的数据库连接字符串的名称。然而,正如我们的数据库设置是有一点复杂,我一直在寻找一种方式来手动提供的MembershipProvider在code中的连接字符串。
I am trying to implement Asp.net Forms Authentication in my site. Usually, you provide the name of your DB connection string in your web.config. However, as our database setup is a little more complicated, I was looking for a way to manually provide the MembershipProvider the connection string in code.
谢谢!
推荐答案
您不必使用的connectionStringName
为的SqlMembershipProvider
,而是可以直接提供连接字符串。即而不是:
You don't have to use a connectionStringName
for SqlMembershipProvider
, instead you can supply the connection string directly. I.e. instead of:
<membership defaultProvider="SqlProvider" ...>
<providers>
<add name="SqlProvider" type="System.Web.Security.SqlMembershipProvider"
connectionStringName="MyConnectionStringName"
.../>
</providers>
</membership>
您可以直接指定连接字符串:
You can specify the connection string directly as:
<membership defaultProvider="SqlProvider" ...>
<providers>
<add name="SqlProvider" type="System.Web.Security.SqlMembershipProvider"
connectionString="data source=... "
.../>
</providers>
</membership>
因此,你也可以得到从SqlMembershipProvider的自定义提供,并动态地构建连接字符串如下:
Therefore you could also derive a custom provider from SqlMembershipProvider, and build the connection string dynamically as follows:
public class MySqlMembershipProvider : SqlMembershipProvider
{
public override void Initialize(string name, NameValueCollection config)
{
config["connectionString"] = BuildMyCustomConnectionString();
base.Initialize(name, config);
}
}
这篇关于在的MembershipProvider code更改连接字符串的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!