zl程序教程

您现在的位置是:首页 >  其他

当前栏目

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

2023-09-11 14:15:41 时间

现在让需要让用户名密码从品优购项目的 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服务器进行登录测试
在这里插入图片描述
在这里插入图片描述
登录成功
在这里插入图片描述