[导入]跨任意语言实现同步登录

Posted on 2006-10-08 17:24  co---co  阅读(208)  评论(0编辑  收藏  举报
作者:llinzzi
blog:http://onewww.net
关键字:跨平台登录 共享session asp php .net jsp
做系统整合的时候常常会面对不同系统的同步登陆问题,也成为单点登陆SSO
SSO有很多商业产品,部署安装都相当的繁琐。
这里我说一个非常简单的方法实现同步登陆
我要做的是asp.net和asp的,一下方法适用于任意语言的同步登陆,如php jsp等
如,我在asp.net中登陆,会获得一个session.sessionId的随机数值,这个值一般情况下是不会重复的
在用户数据库里新建一个aspsession的字段,用户登陆的时候,首先获得sessionId,然后清空用户数据库中所有aspsession=sessionId的aspsession的内容
程序代码 程序代码

update [user] set aspsession="" where aspsession= @sessionId

然后更新sessionId到当前登陆用户的aspsession字段中
程序代码 程序代码

update [user] set aspsession = @sessionId where id=@登陆用户的ID

这样就保证了sessionId的唯一性
完成登陆
系统切换操作
如要从asp.net系统切换到asp论坛,在asp.net系统中有bbs的超链接。http://onewww.net/bbs 修改代码为如下http://onewww.net/bbs/login.asp?sn=<%session.sessionID%>这样就把sessionId传递给了asp系统的登陆页面
asp登陆页面要完成的工作是截获sn,然后到asp.net的user数据库以aspsession=sn查询出username或者userid,最后在asp论坛中依这个username完成登陆。
我是完成了一个asp.net系统和动网论坛的登陆
如果有别的方法欢迎讨论

文章来源:http://onewww.net/blog/default.asp?id=66

Copyright © 2024 co---co
Powered by .NET 8.0 on Kubernetes