读书人

CAS配备第二步:服务器端的配置

发布时间: 2012-09-17 12:06:51 作者: rapoo

CAS配置第二步:服务器端的配置
紧接上一篇CAS配置第一步:准备工作

CAS Java 群35271653
1:加入数据库验证

再将cas.war部署到tomcat-cas-server下之后,
将oracle数据库驱动加入到cas工程的lib下
打开目录X:\tomcat-cas-server\webapps\cas\WEB-INF下的deployerConfigContext.xml修改里面的内容,注释掉以下代码:


其中,sql语句可以自定义成你想要的结果,例如:

此节点的作用为:如果你在<list>中加入了bean,并设定了serviceId的value,那么通过CAS你只能访问这个url地址,其他的url地址将不能访问,**代表的意思就是指该协议下所有的都允许被访问。但是在实际操作中,加入如果不注释掉里面的内容,将会在客户端无法获取到用户更多的登录信息。

然后在配置文件的根节点(<beans>)下加入以下XML配置:

其中的sql语句可以根据自己的情况来写。下面resultAttributeMapping中的参数解释如下:
<entry key="id" value="UserId"/>
key代表的是你数据库中的字段,Value是客户端通过 AttributePrincipal获取时的参数

3:CAS登录获取更多用户信息的JSP修改
仅仅是修改xml是不够的,你必须修改他的casServiceValidationSuccess.jsp,路径为:
X:\tomcat-cas-server\webapps\cas\WEB-INF\view\jsp\protocol\2.0
在其中紧接着加入以下代码:



注意:
1.在casServiceValidationSuccess.jsp中加入我们的代码的时候
    <constructor-arg index="1" value="select * from portal_user where {0}" />  
<property name="queryAttributeMapping">
<map>
<entry key="username" value="id" />
</map>
</property>
<property name="resultAttributeMapping">
<map>
<entry key="id" value="UserId"/>

<entry key="sessionid" value="UserName"/>
<entry key="uclass" value="UserClass"/>
</map>
</property>
</bean>
中的queryAttributeMapping是什意思啊?
<constructor-arg index="1" value="select * from portal_user where {0}" />
<property name="queryAttributeMapping">
<map>
<entry key="username" value="id" />
</map>
</property>
<property name="resultAttributeMapping">
<map>
<entry key="id" value="UserId"/>

<entry key="sessionid" value="UserName"/>
<entry key="uclass" value="UserClass"/>
</map>
</property>
</bean>
中的queryAttributeMapping是什意思啊?

查询数据库的时候所使用的参数,我也很久没有做这个配置了。可能也记不太清楚了。不好意思。

读书人网 >软件架构设计

热点推荐