jdbc认证配置示例
打开cas/WEB-INF/deployerConfigContext.xml,(可参见cas入门之二spring配置文件)在底部应当能够找到
<bean class="org.jasig.cas.authentication.handler.support.SimpleTestUsernamePasswordAuthenticationHandler" />
这个是cas 提供的默认认证处理器,只要用户名等于密码就可以通过认证。
可以用一个或多个jdbc认证方式去替换这个认证方式.
<bean id="SearchModeSearchDatabaseAuthenticationHandler" class="org.jasig.cas.adaptors.jdbc.SearchModeSearchDatabaseAuthenticationHandler"> <property name="tableUsers"> <value>user_table</value> </property> <property name="fieldUser"> <value>user_id</value> </property> <property name="fieldPassword"> <value>password</value> </property> <property name="dataSource" ref="dataSource" /> </bean> <bean class="org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler"> <property name="dataSource" ref="dataSource" /> <property name="sql" value="select password from user_table where lower(user_id) =lower(?)" /> </bean>
注意这些bean,都是放置在authenticationHandlers的list里面,并且都没有提供passwordEncoder即进行明文进行比较.
而相应的dataSource bean则需要在外面配置即在
</list> </property> </bean>
外面进行配置.
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close"> <property name="url" value="jdbc:oracle:thin:@192.168.1.100:1521:orcl" /> <property name="username" value="user" /> <property name="password" value="password" /> <property name="filters" value="stat" /> <property name="maxActive" value="20" /> <property name="initialSize" value="1" /> <property name="maxWait" value="60000" /> <property name="minIdle" value="1" /> <property name="timeBetweenEvictionRunsMillis" value="3000" /> <property name="minEvictableIdleTimeMillis" value="300000" /> <property name="validationQuery" value="SELECT 'x' from dual" /> <property name="testWhileIdle" value="true" /> <property name="testOnBorrow" value="false" /> <property name="testOnReturn" value="false" /> <property name="poolPreparedStatements" value="true" /> <property name="maxPoolPreparedStatementPerConnectionSize" value="20" /> </bean>
关于datasource的配置,则相应的数据库驱动jar,数据库连接池jar 则自行填加,在此不列举。
这样就完成了jdbc的认证处理器配置。为了更好的提高性能可参考cas 入门之四:认证管理器,如何更好进行认证处理器与认证转换的配置,来提高系统性能。
发表评论(对文章涉及的知识点还有疑问,可以在这里留言,老高看到后会及时回复的。)