Linux配置CAS4.0.0单点登录服务

下载CAS

  从GitHub上下载cas-server-4.0.0-release.zip,如图2.1.1红框中所示,地址为:https://github.com/apereo/cas/releases/tag/v4.0.0

图2.1.1

发布CAS

       解压下载好的cas压缩文件,将cas-server-4.0.0\cas-server-4.0.0\modules下的cas-server-webapp-4.0.0.war,上传到cas用户的tomcat服务器的webapps下。并将cas-server-webapp-4.0.0.war重命名为cas.war。启动tomcat服务器来发布cas.war包,启动成功后,将上传的cas.war删除,最后webapps如下图2.2.1所示:

图2.2.1

       浏览器访问,页面显示如图2.2.2所示,在CAS的4.0.0版本,用户名为casuser,密码为Mellon。依次输入后,登陆成功

图2.2.2

CAS链接数据库

备注:我服务器访问使用的是http,而CAS默认的访问协议为https,如果使用https需要申请证书,这是要花银子的,因此我一般是使用http的。关于将CAS的请求方式转换为http,可以参考 http://www.cnblogs.com/zzd-zxj/p/6108830.html  

       打开cas/WEB-INF 下的deployerConfigContext.xml,注释掉下面的配置信息

<!-- 注释掉原本固定登录用户 -->

<!-- <beanid="primaryAuthenticationHandler"

     class="org.jasig.cas.authentication.AcceptUsersAuthenticationHandler">

    <property name="users">

        <map>

            <entrykey="casuser" value="Mellon"/>

        </map>

    </property>

</bean> -->

   在上面注释掉的配置信息下添加如下信息,更改用户认证方式为数据库认证

<!-- 变更为JDBC验证方式 -->

<bean id="primaryAuthenticationHandler"class="org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler">

  <property name="dataSource"ref="dataSource"></property>

  <property name="sql" value="select password_ from user_ where screenName = ?"></property>

  <propertyname="passwordEncoder"ref="MD5PasswordEncoder"></property>

</bean>

配置说明:

1、QueryDatabaseAuthenticationHandler是cas-server-support-jdbc提供的查询接口其中一个是通过配置一个 SQL 语句查出密码,与所给密码匹配;

2、dataSource是使用JDBC查询时的数据源;

3、sql语句就是查询哪一张表,本例根据u_user表的useraccount字段查询密码,CAS会匹配用户输入的密码,如果匹配则通过;

4、passwordEncoder这个就算是自己加的盐巴了,意思很明显就是处理密码的加密,看你的应用中数据库保存的是明码还是加密过的,比如本例是使用MD5加密的,所以配置了MD5PasswordEncoder这个Handler,cas内置了MD5的功能所以只需要配置一下就可以了;如果在实际应用中使用的是公司自己的加密算法那么就需要自己写一个Handler来处理密码,实现方式也比较简单,创建一个类继承org.jasig.cas.authentication.handler.PasswordEncoder然后在encode方法中加密用户输入的密码然后返回即可。

       在上面的配置信息下添加如下配置

<!-- 数据源配置 -->

<bean id="dataSource"class="org.springframework.jdbc.datasource.DriverManagerDataSource">

    <propertyname="driverClassName"><value>com.mysql.jdbc.Driver</value></property>

    <propertyname="url"><value>jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&useSSL=false</value></property>

    <propertyname="username"><value>demo</value></property>

    <propertyname="password"><value>demo</value></property>

</bean>


<!-- 添加MD5密码加密功能 -->

<bean id="MD5PasswordEncoder"class="org.jasig.cas.authentication.handler.DefaultPasswordEncoder">

    <constructor-argindex="0">

    <value>MD5</value>

    </constructor-arg>

</bean>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值