練功房推薦書單

  • 猛虎出柙雙劍合璧版--最新 OCA / OCP Java SE 7 Programmer 專業認證 (電子書)
  • 流浪教師存零股存到3000萬(全新增修版)(書+DVD)
  • 開始在關西自助旅行(京都‧大阪‧神戶‧奈良)(全新增訂版)
  • 不敗教主的300張股票存股術

CAS集成JForum单点登陆 RSS feed
討論區首頁 » JForum中文社群 JForum Chinese Users Community
發表人 內容
wu_net2008

八級學員

註冊時間: 2008/4/30
文章: 20
離線
最近这两天在研究CAS集成单点登陆,我用了自己的一个实现类CasUserSSO来继承了SSO类,有一点问题我始终没搞明白,我的实现类在什么时候才被执行呢?从日志上看,CasUserSSO只在网站刚被加载完后的第一次访问时被执行了一次,之后就再也没有执行过了,我觉得SSO应该类似于一个Filter,如果没有登陆都应该去CAS那边取用户名,如果取不到按照游客处理,取到了就自动登陆。但是现在SSO类怎么也不执行了。小弟对这块不太明白,不知道是不是配置的不对,SystemGlobals.propertise里面有关SSO的三项也配了。求助中!~!~
andowson

七段學員
[Avatar]

註冊時間: 2007/1/2
文章: 711
來自: 台北
離線
你可以看一下
ControllerUtils.java這個檔案:
protected void checkSSO(UserSession userSession)

{
try {
SSO sso = (SSO) Class.forName(SystemGlobals.getValue(ConfigKeys.SSO_IMPLEMENTATION)).newInstance();
String username = sso.authenticateUser(JForumExecutionContext.getRequest());


分享經驗 累積智慧
[WWW]
wu_net2008

八級學員

註冊時間: 2008/4/30
文章: 20
離線
这个方法我看过了,根本找不到被调用的地方,这个类也就是在JForum.java里出现过,其他地方都无关紧要。问题还是没有解决,正在尝试其他途径。继续求助中...
wu_net2008

八級學員

註冊時間: 2008/4/30
文章: 20
離線
因为时间紧迫,正在尝试另一套解决方案,取到ticket和username后再获取User对象,然后完全手动将userSession放到SessionFacade里面去,问题有两个,第一,我无法将该用户标示为已登陆,使用SessionFacade.makeLogged();方法也不行。第二,在我再次请求别的页面的时候UserSession就丢失了,又变成了未登陆状态。这是为啥呢?
wu_net2008

八級學員

註冊時間: 2008/4/30
文章: 20
離線
问题已解决,我将User对象存在了Session中,在每个页面做了个判断,如果没有User对象的话就去Session中取然后装载到SessionFacade中.还有个小问题,因为有个URL被我写死在了header.html中我想用标签把这个URL动态的取出来,因为我想把它写在配置文件里,这样好维护嘛。请问我该怎样写呢?
 
討論區首頁 » JForum中文社群 JForum Chinese Users Community
前往:   
行動版