加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

Asp.net在运行时覆盖成员资格设置(asp.net mvc)

发布时间:2020-12-16 06:57:14 所属栏目:asp.Net 来源:网络整理
导读:我有一个连接到单个数据库的应用程序. 该应用程序现在需要挂钩到多个数据库.我们想要做的是,使用相同的应用程序/域/主机名/虚拟目录为用户提供登录屏幕上的选项,以选择他们想要连接的“应用程序/数据库”. 每个数据库都有App表/ data / procs / etc以及aspne
我有一个连接到单个数据库的应用程序.

该应用程序现在需要挂钩到多个数据库.我们想要做的是,使用相同的应用程序/域/主机名/虚拟目录为用户提供登录屏幕上的选项,以选择他们想要连接的“应用程序/数据库”.

每个数据库都有App表/ data / procs / etc以及aspnet成员资格/角色.

当用户输入用户名/密码并选择(选择列表)应用程序时,我想根据所选应用程序数据库验证用户.

目前,成员资格服务的数据库连接字符串保存在web.config中.有什么办法可以在登录时覆盖这个吗?
另外,我还需要“记住我”功能才能顺利工作.当用户在5小时内回到应用程序时,这是如何工作的…此过程应该能够识别用户和应用程序并正确登录.

解决方法

唯一可能的方法是通过反射更改conn字符串:

// Set private property of Membership provider.FieldInfo connectionStringField 
= GetType().BaseType.GetField("_sqlConnectionString",BindingFlags.Instance | BindingFlags.NonPublic);
        connectionStringField.SetValue(this,connectionString);

在这里找到:
http://forums.asp.net/p/997608/2209437.aspx

为什么不实施自己的成员提供者?很容易做到,然后你完全控制发生的事情.我相信你会想出另一个自定义场景,默认提供商不能正常使用.

只要用户不删除他们的cookie,AFAIK记住我的功能应该完全按照你的描述.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读