Happy 牛Year!    
简体中文
会员名称: 登入密码: [Register] 注册 忘记密码 启用我的帐号
关于cas加jforum的单点登录问题.急.求救中.  XML
论坛首页 »开源项目» JForum论坛
发表人 内容
menxin32


注册时间: 2008-11-17 11:01:05
文章: 3
离线

目前我在使用cas单点登录jforum以及另外的两个系统.我的需求是这样的.jforum以及另外两个系统都是可以不需要登陆就可以匿名执行一些操作的.所以不希望一进入那个系统就直接跳转到cas的登陆页面.所以在这里直接就排除掉了使用过滤器的可能.
打个比方:我希望是这样的.比如进入jforum页面.这个时候是不需要登陆就可以查看的.而点击了某个人之后给它发论坛的内部信息后.则跳转到登陆页面.这个目前我是可以实现的.为了能够更好的使用登陆.所以我目前修改了如下内容.
1:页面上添加.增加登陆和注销相关按钮:
修改header.htm页面部门代码为:



因为页面上添加了登陆按钮的链接为;http://localhost:8080/JForum/forums/list.page?mypageLogin=logincas
所以更改对应的action方法:
net.jforum.view.forum.ForumAction的list方法添加这样的代码:



为了能够随时同步cas在其他系统中更改了用户登陆.所以我需要在当前系统中如果是登陆状态的.就一直同步cas数据.修改如下:
修改JForum的service方法;因为要使用一些初始化参数.所以更改了原service方法的一些顺序.



自己的CasUserSSO类:

这篇文章被编辑了 4 次. 最近一次更新是在 2008-11-17 11:17:17

menxin32


注册时间: 2008-11-17 11:01:05
文章: 3
离线

遗留问题:
目前我这样修改后可以满足这样的情况:
如果当前用户在jfroum中处于登陆状态.就会随时检测当前用户是否在其他系统中已经被注销或者更改了其他用户登陆.
但是如果当前用户是从别的系统中登陆的.在进入jfroum中时是不显示为登陆的.只有访问了需要权限的模块.比如发消息等才会去同步cas.这个时候才会变为已登录.
这就不是我想要的了.但是又要求那些不需要权限验证的模块能够匿名访问.这就让我吐血了.我如果想要验证当前用户是否登陆.就必须请求cas.但是请求了cas.没有登陆的话就会跳到登陆页面.有没有什么方法.是访问了cas系统.直接返回告诉我没登陆.而不是跳转到cas的登陆页面的?
menxin32


注册时间: 2008-11-17 11:01:05
文章: 3
离线

我尝试使用session.如果我在别的系统中登陆了.我就新增一个session,但是这个新增的session却无法在另一个系统中读取到.看来session也无法解决.兄弟们.有没好的方法啊?难道要改cas啊..cas的源码好发麻啊...看不来.谁能给个指点啊.
 
论坛首页 »开源项目» JForum论坛
前往:   
Powered by JForum 2.1.8 © JForum Team ICP:闽ICP备06052876号 Template:TryDone