Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/37.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.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# 具有Active Directory和单点登录的多表单身份验证应用程序_C#_Asp.net_Active Directory_Forms Authentication_Single Sign On - Fatal编程技术网

C# 具有Active Directory和单点登录的多表单身份验证应用程序

C# 具有Active Directory和单点登录的多表单身份验证应用程序,c#,asp.net,active-directory,forms-authentication,single-sign-on,C#,Asp.net,Active Directory,Forms Authentication,Single Sign On,我有一个我似乎无法理解的要求,主要是因为我没有太多单点登录的经验。我目前正在3到4个web应用程序上使用带有Active Directory的窗体身份验证。我的要求是有一个“中央”登录。如果用户可以访问应用程序1和应用程序2,则允许他们查看这两个应用程序。如果用户可以访问应用程序2和应用程序4,那么他们只能看到这两个应用程序。最近,我借助此工具设置了一个Active Directory角色提供程序 我还研究了互联网上的单一登录选项。到目前为止,我遇到了一些看起来不错的。但是,我认为我遇到了麻烦,

我有一个我似乎无法理解的要求,主要是因为我没有太多单点登录的经验。我目前正在3到4个web应用程序上使用带有Active Directory的窗体身份验证。我的要求是有一个“中央”登录。如果用户可以访问应用程序1和应用程序2,则允许他们查看这两个应用程序。如果用户可以访问应用程序2和应用程序4,那么他们只能看到这两个应用程序。最近,我借助此工具设置了一个Active Directory角色提供程序

我还研究了互联网上的单一登录选项。到目前为止,我遇到了一些看起来不错的。但是,我认为我遇到了麻烦,因为我使用的是Active Directory。对于基本表单身份验证非常有效,但我无法使用AD对其进行适当调整

然后我继续尝试一种新的方法。我可以在应用程序2上查看cookie,但我必须再次登录才能查看完整的应用程序

我甚至找到了解决办法,但我似乎找不到一个例子来按照我需要的方式去做。我发现了很多不同的SSO技术,但我运气不好,不知道是否有人能给我指出正确的方向

我想到的一个选择是制作一个单独的应用程序来处理登录,并将他们引导到一个“仪表板”,在那里我可以让他们根据广告中的组访问应用程序。这是一个可行的解决方案吗


如果需要任何其他信息,请告诉我!谢谢

在广告环境中操作时,为什么要使用FormsAuth?您是否有需要支持的外部用户?应用程序是否始终在“联机”或连接到网络时运行

在过去,当我们必须控制某些应用程序的权限时,我们专门针对每个应用程序进行控制。这主要是由业务规则驱动的,因为每个应用程序都有明确管理权限的人。我们会有一个登录页,任何人都可以知道App2,但你必须是某个特定广告群的成员才能访问它。要访问App2,您必须通过电子邮件或自动通知App2管理员

如果您想要一个集中的存储库并从一个位置控制您的所有应用的权限,其中一组管理员拥有所有应用的领域知识-您的仪表板想法听起来很理想


如果您将其切换到WindowsAuth并使用广告组来管理权限,您不必担心任何身份验证问题。

我们使用Forms auth主要是因为它看起来比Windows auth更好,哈哈。所有应用都位于同一个域上,从现在起,我们控制每个应用的权限。我们将AD帐户用作登录,因此不必在SQL Server中存储任何密码。但是,我们使用SQL角色来拒绝访问每个应用程序的某些部分。正如你所知道的,这并不理想,效果很好,但不理想的保持。因此,我们正在从SQL角色转移到单点登录的AD角色。