Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 针对多个不可靠的成员资格提供商进行身份验证?_C#_Asp.net_Membership Provider - Fatal编程技术网

C# 针对多个不可靠的成员资格提供商进行身份验证?

C# 针对多个不可靠的成员资格提供商进行身份验证?,c#,asp.net,membership-provider,C#,Asp.net,Membership Provider,目前,我的asp.net应用程序有5个ActiveDirectoryMembershipProvider和1个SqlMembershipProvider。这两个数字在不久的将来肯定会有所增加。问题是,我们正在验证的一些域是脆弱的。例如,在星期天的30分钟内,五分之一的人可能无法到达。当来自任何提供者的用户在此期间尝试登录时,他们无法登录,因为提供者集合抛出了一个错误。所以,如果一个人倒下了,他们都倒下了。不好玩 我已经尝试了72种不同的方法来解决这个问题,但没有任何运气。这是我的前三名 1:将它

目前,我的asp.net应用程序有5个ActiveDirectoryMembershipProvider和1个SqlMembershipProvider。这两个数字在不久的将来肯定会有所增加。问题是,我们正在验证的一些域是脆弱的。例如,在星期天的30分钟内,五分之一的人可能无法到达。当来自任何提供者的用户在此期间尝试登录时,他们无法登录,因为提供者集合抛出了一个错误。所以,如果一个人倒下了,他们都倒下了。不好玩

我已经尝试了72种不同的方法来解决这个问题,但没有任何运气。这是我的前三名

1:将它们全部添加到web.config中,覆盖登录控制身份验证并循环通过所有Membership.Providers。直到我们找到匹配的人。工程伟大,除非上述问题。如果有人倒下了,收集的东西就会掉出来,没有人进去

B.仅针对默认提供程序进行身份验证。让用户选择要使用的提供程序,并使用WebConfiguration Manager将其更改为默认提供程序。非常好,只是您实际上正在运行时更改web.config文件。。。哎呀!是我干的吗

三、 检查用户要登录的域的自定义提供程序,并在Initiate中从web.config以外的源提供适当的配置值。包含所有独立提供者信息的DB表。然后,我们总是在自定义提供程序上验证用户,然后用户检查用户选择的域/提供程序,插入和关闭信息。除非我注销,然后使用不同的域登录,否则此操作有效。。。我不能这样做,因为它已经初始化到您之前选择的另一个域


也许我错过了一些简单的事情?我希望如此。StackOverflow,你是我唯一的希望。

如果我针对任何提供商进行了身份验证-我参与了-这在你的情况下是真的吗?是的,只要你能够向其中一个提供商进行身份验证,我们就允许你参与。应用程序控制你从那里看到的东西。