Nei*_*sey 7 c# asp.net-mvc forms-authentication
我目前正在为上述问题寻找一个很好的解决方案.我们可能会在.NET上运行表单身份验证.
我运行了一个ASP.NET MVC应用程序,a.mydomain.com并运行了一个基于Java的应用程序b.mydomain.com.
什么是最好的方法,这样我就不必登录每个应用程序.比如,当我登录a.mydomain.com然后打开Java时b.mydomain.com,它会检查并看到我已经登录了?
WCF AuthenticationService类是否适用于此?我可以从JavaScript中做一个AJAX请求b.mydomain.com来检查我是否已经在.NET应用程序中登录了吗?
只要mydomain.com不在公共后缀列表(http://publicsuffix.org/list/)中,a.mydomain.com就可以放置域cookie.mydomain.com
(注意放cookie只能下一级:a.b.mydomain.com不能放.mydomain.comcookie)
cookie 将被发送到b.mydomain.com(以及*.mydomain.com和mydomain.com),并可用作打开会话的令牌。因此,请务必控制整个 *.myDomain.com 子域并使其为 httpOnly 且安全 (https)
Response.SetCookie(new HttpCookie("myCookieName", "myCookieValue") { HttpOnly = true, Domain = ".myDomain.com", Secure=true });
Run Code Online (Sandbox Code Playgroud)
Atlassian Crowd 解决方案http://www.atlassian.com/software/crowd/overview的某些部分基于此 cookie 机制
所以你可能:
myTokencookie,其值包含 userId 和经过哈希处理的 userId,哈希密钥由 a.myDomain.com 和 b.myDomain.com 已知请注意,您将无法访问 cookie 客户端(因此没有 js cookie 处理,除非它是服务器端 js,例如 nodejs)
| 归档时间: |
|
| 查看次数: |
1182 次 |
| 最近记录: |