cas单点登录遇到 supplied credentials: [admin+password] 问题原因以及解决办法

来源:互联网 发布:软件的盈利模式 编辑:程序博客网 时间:2024/05/22 02:27

最近在写shiro-cas单点登录demo的时候,真的是问题多多,百度了半天也没有什么有用的信息,服务端部署了一遍又一遍,真的sui(抱怨over..哈哈)

我遇到的问题是服务端配置数据库连接的时候出现的问题,先回顾一下流程
一、修改deployerConfigContext.xml
首先 注释掉 下面的代码

    <bean id="primaryAuthenticationHandler"          class="org.jasig.cas.authentication.AcceptUsersAuthenticationHandler">        <property name="users">            <map>                <entry key="casuser" value="Mellon"/>            </map>        </property>    </bean>

然后添加数据库支持和密码md5加密(这两项是可以自定义设置的)

<!-- 设置密码的加密方式,这里使用的是MD5加密 -->    <bean id="passwordEncoder"      class="org.jasig.cas.authentication.handler.DefaultPasswordEncoder"      c:encodingAlgorithm="MD5"      p:characterEncoding="UTF-8" />  <!-- 通过数据库验证身份,这个得自己去实现 -->    <bean id="primaryAuthenticationHandler"      class="org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler"      p:dataSource-ref="dataSource"      p:passwordEncoder-ref="passwordEncoder"      p:sql="select password from t_user where account=? and status = 'active'" /> <!-- 设置数据源 -->     <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">          <property name="driverClassName" value="com.mysql.jdbc.Driver"></property>          <property name="url" value="jdbc:mysql://localhost:3306/sso?useUnicode=true&amp;characterEncoding=utf8"></property>          <property name="username" value="root"></property>          <property name="password" value="111111"></property>      </bean>

二、添加依赖jar

其实需要的jar讲道理只有两个,mysql-connector-java还有cas-server-support-jdbc
问题就出在这个配置上了
先送上错误信息

=============================================================WHO: audit:unknownWHAT: supplied credentials: [admin+password]ACTION: AUTHENTICATION_SUCCESSAPPLICATION: CASWHEN: Fri Sep 22 16:04:01 CST 2017CLIENT IP ADDRESS: 127.0.0.1SERVER IP ADDRESS: 127.0.0.1=============================================================>2017-09-22 16:04:01,941 INFO [com.github.inspektr.audit.support.Slf4jLoggingAuditTrailManager] - <Audit trail record BEGIN=============================================================WHO: audit:unknownWHAT: TGT-1-gGZWrggVvdEl5Fbukee9O3MvshL9WAf4fR7iORdr2A0Uyz960Q-cas01.example.orgACTION: TICKET_GRANTING_TICKET_CREATEDAPPLICATION: CASWHEN: Fri Sep 22 16:04:01 CST 2017CLIENT IP ADDRESS: 127.0.0.1SERVER IP ADDRESS: 127.0.0.1=============================================================

pom配置

<dependency>        <groupId>mysql</groupId>        <artifactId>mysql-connector-java</artifactId>        <version>5.1.30</version>    </dependency>        <dependency>      <groupId>org.jasig.cas</groupId>      <artifactId>cas-server-support-jdbc</artifactId>      <version>4.0.0</version>    </dependency>

注意 问题就在于cas-server-support-jdbc的版本号,这里配置的是4.0.0但是服务端的版本号是4.0.0-RC3,虽然不知道是什么区别,记住稳妥一点还是把version配置成 ${project.version}

注:之前百度看到一篇服务端版本如果是4.2.7级以上的还需要依赖一个jar好像名字是com。。。。4,可以注意一下

详细配置单点登录的教程

最后让我化身贝贝来一句freestyle
把编程当梦想
不如幻想五百万会中奖
can you feel me
bulabulabula….

阅读全文
0 0
原创粉丝点击