表单动态域认证

本文关键字:认证 动态 表单 | 更新日期: 2023-09-27 18:02:17

我正在尝试实现使用。net表单身份验证的SSO解决方案。我知道为所有子域设置cookie,如下所示:

<forms 
   name="name" 
   loginUrl="URL" 
   defaultUrl="URL"
   domain=".example.com">
</forms>

我的问题-是否有一种方法使"域"字段动态?这样我就可以把域名附加为URL参数了吗?

http://SSO.com/?domain=example.com

表单动态域认证

这里的domain参数是在认证cookie上设置的。

你可以忽略它,意思是根本不添加它,cookie将被设置为url上看到的内容。

这里的技巧是确保你的网站总是与相同的子域名,例如,总是呼叫www.example.com(不是一个呼叫www.example.com和一个呼叫example.com)

不幸的是,您所要求的功能无法与Forms Auth一起使用。如果你将域名设置为与你用于身份验证的域名不同的域名,你的auth应用将无法看到cookie,并将认为用户从未登录过。

这些事情通常由需要SSO调用SSO域来进行身份验证的域来处理。您可以在CAS (http://en.wikipedia.org/wiki/Central_Authentication_Service) Facebook Connect甚至微软的Passport认证等系统中看到这一点。

如果您正在寻找一个支持良好的ms友好的SSO,请查看新的Azure Active Directory系统(http://blogs.technet.com/b/serverandtools/archive/2012/07/12/introducing-windows-azure-active-directory-ad-web-single-sign-on-sso.aspx)