1.首先导入cas-server-support-jdbc.jar和commons-dbcp.jar包,当然还有少不了的JDBC驱动jar包。
也可以自己从maven中编译cas-server-support-jdbc.jar
2.修改WEB-INF/deployerConfigContext.xml文件,加入JDBC验证。
2.1找到authenticationHandlers代码块。
2.2 注释掉 <bean class="org.jasig.cas.authentication.handler.support.SimpleTestUsernamePasswordAuthenticationHandler" />
这行是用于测试的,账号密码相同则通过。相信我不用多解释了。
2.3 在找到authenticationHandlers代码块结束前加入以下代码:
<bean class="org.jasig.cas.adaptors.jdbc.SearchModeSearchDatabaseAuthenticationHandler">
<property name="tableUsers">
<value>users</value>
</property>
<property name="fieldUser">
<value>name</value>
</property>
<property name="fieldPassword">
<value>password</value>
</property>
<property name="dataSource" ref="dataSource"/>
</bean>
首先一个简单的概念,账号验证的话参数基本是两个,账号和密码。
tableUsers 代表JDBC验证时的数据库名
fieldUser 代表在tableUsers中账号字段
fieldPassword 代表在fieldPassword的密码字段
很清楚明白了,这些都是明文的。更多复杂的的验证需要自己扩展了,另外property还有个参数sql,可以自己写SQL做查询。具体看看org.jasig.cas.adaptors.jdbc.SearchModeSearchDatabaseAuthenticationHandler源码就懂了。
3. 当然是配置datasource了
同样在deployerConfigContext.xml内填加以下代码,建议在底部添加,当然不要在</beans>之下了,不然不生效了。
<!-- Data source definition -->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName">
<value>com.mysql.jdbc.Driver</value>
</property>
<property name="url">
<value>jdbc:mysql://localhost:3306/cas</value>
</property>
<property name="username">
<value>root</value>
</property>
<property name="password">
<value>111111</value>
</property>
</bean>
这些参数相信不用多说明了。
参考:
https://wiki.jasig.org/display/CAS/Examples+to+Configure+CAS
分享到:
相关推荐
【耶鲁CasServer单点登录教程】 一、Yale CAS简介 Yale Central Authentication Service (CAS) 是一个开源的身份验证框架,由耶鲁大学开发,主要用于实现单点登录(Single Sign-On, SSO)。SSO允许用户在一个系统上...
* JDBC 认证方法:可以使用 JDBC 认证方法来验证用户的身份。 五、部署 CAS Client 在部署 CAS 客户端时,需要完成以下步骤: 1. 配置 CAS 客户端:需要配置 CAS 客户端以便连接到 CAS 服务器。 2. 获取 TGT:...
而CAS Client则部署在客户端,对本地Web应用的受保护资源进行保护,当检测到未认证的用户请求时,会重定向用户至CAS Server进行身份验证。 CAS协议的基本流程如下:首先,CAS Client通过过滤器保护Web应用资源,...
在CAS Server的`deployerConfigContext.xml`文件中,需要配置数据源(DataStore)以连接数据库进行用户验证。可以使用模块`cas-server-support-jdbc-3.3.jar`提供的JDBC认证支持。 - **LDAP认证**:如果用户信息...
CAS(Central Authentication Service)是一种基于Web的单点登录(Single Sign-On, SSO)协议,它允许用户通过一个认证入口登录,然后访问多个受保护的应用系统,而无需再次进行身份验证。在本文中,我们将详细讨论...
CAS提供了一种可靠的Web应用单点登录协议,其核心是一个中央认证服务器(CASServer),它负责处理所有认证请求,并且维护用户的登录状态。 1. **名词解释** - **ST(Service Ticket)**:服务票据,由CAS签发给...
4. 用户认证:可以自定义认证机制,例如使用 LDAP、JDBC 或其他认证源。 五、CAS 功能扩展 - 代理认证:允许用户通过 CAS 服务器获取 Proxy Ticket,进一步访问其他受保护的服务,常用于服务之间的互信授权。 - 多...
对于JDBC认证,可以使用提供的cas-server-support-jdbc-3.3.jar包,配置数据库连接信息,使CAS能够通过数据库验证用户身份。 总的来说,SSO通过CAS实现,可以简化用户登录流程,提高用户体验,同时保持系统的安全性...
该资源不仅提供部署在Tomcat服务器上的cas.war包(解压缩后在webapps目录下),而且创建Mysql数据源,完成用户表中用户信息的认证。 deployerConfigContext.xml中创建MySql数据源如下: <value>...