75分布式电商项目 - CAS数据源设置(从数据库中查询用户名密码登录)

it2022-05-05  101

现在让需要让用户名密码从品优购项目的 user 表里做验证,所以要配置数据库相关的信息,配置步骤如下:

1.修改 cas 服务端中 web-inf 下deployerConfigContext.xml ,添加如下配置:

<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" p:driverClass="com.mysql.jdbc.Driver" p:jdbcUrl="jdbc:mysql://192.168.18.166:3306/pinyougoudb?characterEncoding=utf8" p:user="root" p:password="root" /> <bean id="passwordEncoder" class="org.jasig.cas.authentication.handler.DefaultPasswordEncoder" c:encodingAlgorithm="MD5" p:characterEncoding="UTF-8" /> <bean id="dbAuthHandler" class="org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler" p:dataSource-ref="dataSource" p:sql="select password from tb_user where username = ?" p:passwordEncoder-ref="passwordEncoder"/>

然后在配置文件开始部分找到如下配置

<bean id="authenticationManager" class="org.jasig.cas.authentication.PolicyBasedAuthenticationManager"> <constructor-arg> <map> <entry key-ref="proxyAuthenticationHandler" value-ref="proxyPrincipalResolver" /> <entry key-ref="primaryAuthenticationHandler" value-ref="primaryPrincipalResolver" /></map> </constructor-arg> <property name="authenticationPolicy"> <bean class="org.jasig.cas.authentication.AnyAuthenticationPolicy" /> </property> </bean>

其中

<entry key-ref="primaryAuthenticationHandler" value-ref="primaryPrincipalResolver" />

一句是使用固定的用户名和密码,我们在下面可以看到这两个 bean ,如果我们使用数据库认证用户名和密码,需要将这句注释掉。

添加下面这一句配置

<entry key-ref="dbAuthHandler" value-ref="primaryPrincipalResolver"/>

2)将以下三个 jar 包放入 webapps\cas\WEB-INF\lib 下(已经上传到百度网盘,链接:https://pan.baidu.com/s/1xENmJSDLXa5v-uSHZ4b4Tg 提取码:rd0v ) 3)访问cas服务器进行登录测试 登录成功


最新回复(0)