在的MembershipProvider code更改连接字符串 [英] MembershipProvider change connection string in code

查看:99
本文介绍了在的MembershipProvider 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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆