我目前配置我的CAS服务器V5.0.2使用数据库验证,特别是使用的编码方法,使用CAS属性文件。 以下是文件从性质相关的属性配置:
cas.authn.jdbc.encode[0].sql=SELECT * FROM public.vt_user WHERE email=?
cas.authn.jdbc.encode[0].driverClass=org.postgresql.Driver
cas.authn.jdbc.encode[0].url=jdbc:postgresql://localhost:5432/tracking
cas.authn.jdbc.encode[0].user=postgres
cas.authn.jdbc.encode[0].password=postgres
cas.authn.jdbc.encode[0].saltFieldName=salt
cas.authn.jdbc.encode[0].passwordFieldName=password
cas.authn.jdbc.encode[0].healthQuery=SELECT 1 FROM INFORMATION_SCHEMA.TABLES
cas.authn.jdbc.encode[0].numberOfIterations=1
cas.authn.jdbc.encode[0].numberOfIterationsFieldName=
cas.authn.jdbc.encode[0].staticSalt=
cas.authn.jdbc.encode[0].algorithmName=SHA-1
cas.authn.jdbc.encode[0].dialect=org.hibernate.dialect.PostgreSQLDialect
cas.authn.jdbc.encode[0].passwordEncoder.type=DEFAULT
cas.authn.jdbc.encode[0].passwordEncoder.characterEncoding=UTF-8
cas.authn.jdbc.encode[0].passwordEncoder.encodingAlgorithm=SHA-1
我有连接的数据库是PostgreSQL数据库。 使用Spring Security的3.2.5 ShaPasswordEncoder与作为SHA-1加上盐值默认强度的密码,以前的编码。 我已经在CAS服务器的默认登录页面输入有效的凭据测试的CAS认证数据库的配置,但身份验证始终失败,并返回“证书无效。” 此外,我已经意识到3.2.5 ShaPasswordEncoder已过时,但我不打算改变它的实现。 该日志显示了用户名可以从用户表中查询成功,但是从表和输入的密码不匹配。
现在我正在寻找在解决这个问题的任何做法。 我还是比较新的CAS,我真正体会到了急需的帮助。 谢谢!