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是什麼意思啊?
查询数据库的时候所使用的参数,我也很久没有做这个配置了。可能也记不太清楚了。不好意思。