-
web service接口问题5
目前2个项目要进行项目登录状态的同步
(登录前 以确定2个项目中都有一样的用户数据)
在A项目中登录了。B项目也要登录
反则一样。
web service接口我知道,但是webservice接口
只是一个方法 并不能在里面取得其当前项目中
的session. 我想问下能不能用struts2 action
直接做为接口来调用?
如:http://www.xxx.com/user/webserivce!login.action?user=xxx
这样做的和webservice 传统的方式有什么区别?为什么?2013年12月10日 11:22
3个答案按时间排序按投票排序
-
采纳的答案
比较典型的单点登录应用, 可以考虑引入第三方的单点登录,比如 http://www.jasig.org/cas
当然还有一个解决方法是共享两个项目的Session(比如使用统一缓存来存储Session),也就是将Session服务器独立出来,这个稍微复杂一点。
搭建好以后这样:
. A项目或B项目用户登录: UserInfo ==> Session ==> Memached
. 检查用户登录:Memached ==> Session ==> Session.contains(sessionID)
当然,也可以通过共享Cookie的方式,但是两个项目需要在同一个域名下面,另外Cookie的安全性不如Session好(浏览器端存储的原因)
WebService与Action本质上没有特别大的区别,只不过WS将调用过程的约束标准化了,Action没有标准化而已,像题主这样的应用不适合采用WS或者Action的方式,不建议采用(如果一定要采用的话需要加访问控制,WS或action不能让用户去调用)2013年12月11日 11:12
-
搜下单点登录,了解下,
我们网站实现单点登录的思想是cookie+登录、验证登录接口+redis,
你也可以使用类似的思想做,直接废弃session2013年12月10日 13:29