最近有一个任务,需要使用。net实现单点登陆,到网上找了半天,没有看到相关的资料。
。net2.0 有一个实现,在web.config 配置,可以实现单点登陆,但是只能基于一个域名。
如 a.abc.com,b.abc.com。
怎么实现呢,我们知道cookie不能够跨域,session当然也是不能跨域,那么web怎么才能做到单点登陆呢。

我的解决方案如下:
一个认证中心,A应用,B应用。

1。A系统当有需要访问需要保护的资源的时候,如果没有登陆则直接跳转到认证中心进行验证。
2。验证成功后,在认证中心设置cookie表示已登陆。
3。认证成功后,在跳转到A应用,设置cookie则A应用登陆。
4。当B应用访问该系统的时候,发现没有登陆,这是会跳转到认证中心,认证中心检查是否设置了
cookie,如果已经登陆,跳转到B应用,设置B cookie表示B应用已经登陆。

知道了这个原理了,我们就可以做出来单点登陆的实现。


posted on 2008-04-27 23:11  自由港  阅读(789)  评论(2编辑  收藏  举报