日期:2014-05-17  浏览次数:20695 次

熟悉cas单点登录系统的请进
最近一直在看cas 单点登录,发现它是用spring MVC 框架做的,由于我对springMVC不是很熟悉,所以很多地方看不懂, 项目马上要上了,我也没时间去看springMVC了, 所以就几个cas系统的问题问问熟悉的人,

我用cas简单的配了个单点登录,但那是从客户服务端进入,如果没有登录就转向验证服务端登录,然后再放回原来的客户服务端页面,

 现在有这样一个需求,直接从server端进入登录页面,登录后进入一个导航页面,里面有子系统的链接,通过用户手动链接到需要的子系统里面去, 请问在cas server端应该从哪里修改? 我完全找不到下手的地方。。

------解决方案--------------------
他的默认页面为view\jsp\default\ui下面的casGenericSuccess.jsp,你可以在default_views.properties里面找到casLoginGenericSuccessView.url=/view/jsp/default/ui/casGenericSuccess.jsp将页面修改成你自己想跳转的页面
------解决方案--------------------
默认的确实是修改这个地方
ps:用户验证的逻辑楼主也没修改么?
修改了的话,那修改这个需求没啥难度
探讨
他的默认页面为view\jsp\default\ui下面的casGenericSuccess.jsp,你可以在default_views.properties里面找到casLoginGenericSuccessView.url=/view/jsp/default/ui/casGenericSuccess.jsp将页面修改成你自己想跳转的页面

------解决方案--------------------
在啥地方取的用户名?
用这个用户来做啥?
探讨
恩,搞定了,但在server端取不到用户信息,也就是用户名,
网上说用request.getAttribute("credentials"); 可是这取出来的是--"[username:myname]",
我需要的只是用户名"muname"

高手们有尝试过从服务端取用户名吗?

------解决方案--------------------
很久以前也做过单点登录的需求,不好意思,忘了
------解决方案--------------------
验证成功了直接取到用户名放在session里面不行么?
session过期了直接从ticketregistry里面拿
探讨
server端有个导航页面呀,里面有各子系统的链接, 还需要当前用户的信息呀,
比如可以显示 你好:某某,欢迎登陆cas服务端,

------解决方案--------------------
服务器端用户信息:
引入<%@ page import="org.jasig.cas.authentication.principal.UsernamePasswordCredentials" %>

<% UsernamePasswordCredentials user = (UsernamePasswordCredentials) request.getAttribute("credentials");
%>
取用户名:
<%=user.getUsername() %>