Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.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
Asp.net mvc 3 在依赖方上使用被动联合身份和登录页实现SSO_Asp.net Mvc 3_Wif_Single Sign On_Federated Identity_Sts Securitytokenservice - Fatal编程技术网

Asp.net mvc 3 在依赖方上使用被动联合身份和登录页实现SSO

Asp.net mvc 3 在依赖方上使用被动联合身份和登录页实现SSO,asp.net-mvc-3,wif,single-sign-on,federated-identity,sts-securitytokenservice,Asp.net Mvc 3,Wif,Single Sign On,Federated Identity,Sts Securitytokenservice,我们使用被动联合身份(C#,ASP.Net MVC 3,WIF)为一组具有不同域名的网站实现了SSO(单点登录)。该设置工作正常,因为它遵循标准的被动联合,登录页面托管在STS上 www.brand1.com www.brand2.com … www.sts.com(登录页面位于此处) 现在,客户端希望在每个依赖方上实现登录页面,这样用户就不会被重定向到STS。原因是,每个依赖方都是一个已知品牌,因此重定向到不同的域名(托管STS)对于各自的品牌是不可接受的。在STS上为每个品牌定制登录页面也是

我们使用被动联合身份(C#,ASP.Net MVC 3,WIF)为一组具有不同域名的网站实现了SSO(单点登录)。该设置工作正常,因为它遵循标准的被动联合,登录页面托管在STS上

www.brand1.com
www.brand2.com

www.sts.com(登录页面位于此处)

现在,客户端希望在每个依赖方上实现登录页面,这样用户就不会被重定向到STS。原因是,每个依赖方都是一个已知品牌,因此重定向到不同的域名(托管STS)对于各自的品牌是不可接受的。在STS上为每个品牌定制登录页面也是不可接受的


有没有办法将登录页面移动到依赖方?

有两种方法可供选择:

  • 您可以在每个依赖方上创建一个用于验证用户身份的登录页。这取决于提供WS-Trust端点的STS
  • 如果您可以控制STS代码,只需让依赖方将登录凭据(用户名/密码)发布到STS,STS站点就会像以前一样处理身份验证请求。这是我过去成功使用的方法

  • 希望这能有所帮助。

    Re。第2点。在发布之前是否以某种方式加密凭据?如果您发布到HTTPS安全页面,则加密凭据是可选的。在这种情况下,将使用运输安全。这和在STS网站上发帖没有什么不同。数据仍在通过Internet发送。这两种方法都适用于身份验证,但它们是否满足单点登录要求?因为您处理的是不同域中的站点,单点登录将有点棘手。如果使用方法2,STS仍然可以在其一侧创建cookie。当用户在站点A上进行身份验证,然后导航到站点B时,您可以让站点跳到STS以检查身份验证。如果失败,它可以将用户发送回站点B上的登录页面。这只是一个想法。