首页 > 其他 > 详细

CAS部署后的基本配置

时间:2020-05-22 00:15:05      阅读:80      评论:0      收藏:0      [点我收藏+]

1、配置CAS的端口号

  修改cas的WEB-INF/cas.properties

server.name=http://192.168.25.XXX:XXX

2、去除https协议

  CAS默认使用的是HTTPS协议,如果使用HTTPS协议需要SSL安全证书(需向特定的机构申请和购买) 。如果对安全要求不高或是在开发测试阶段,可使用HTTP协议。我们这里讲解通过修改配置,让CAS使用HTTP协议。

  2.1、修改cas的WEB-INF/deployerConfigContext.xml

<bean class="org.jasig.cas.authentication.handler.support.HttpBasedServiceCredentialsAuthenticationHandler"
p:httpClient-ref="httpClient"
p:requireSecure="false"/>   //requireSecure属性意思为是否需要安全验证,即HTTPS,false为不采用

  2.2、修改cas的/WEB-INF/spring-configuration/ticketGrantingTicketCookieGenerator.xml

<bean id="ticketGrantingTicketCookieGenerator" class="org.jasig.cas.web.support.CookieRetrievingCookieGenerator"
      p:cookieSecure="false" //同理为HTTPS验证相关,TRUE为采用HTTPS验证,FALSE为不采用https验证。
      p:cookieMaxAge="3600" //是COOKIE的最大生命周期,-1为无生命周期
//3600为在3600秒内,打开任意窗口,都不需要验证。
      p:cookieName="CASTGC"
      p:cookiePath="/cas" />

  2.3、修改cas的WEB-INF/spring-configuration/warnCookieGenerator.xml

<bean id="warnCookieGenerator" class="org.jasig.cas.web.support.CookieRetrievingCookieGenerator"
p:cookieSecure="false"      //同上
p:cookieMaxAge="3600"    //同上
p:cookieName="CASPRIVACY"
p:cookiePath="/cas" />

3、服务端数据源设置

  3.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://127.0.0.1:3306/jdcharacterEncoding=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 = ?"    //验证sql
          p:passwordEncoder-ref="passwordEncoder"/>  

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

<bean id="authenticationManager" class="org.jasig.cas.authentication.PolicyBasedAuthenticationManager">
        <constructor-arg>
            <map>               
                <entry key-ref="proxyAuthenticationHandler" value-ref="proxyPrincipalResolver" />
                <entry key-ref="dbAuthHandler" value-ref="primaryPrincipalResolver" />    //使用数据源的校验
            </map>
        </constructor-arg>      
        <property name="authenticationPolicy">
            <bean class="org.jasig.cas.authentication.AnyAuthenticationPolicy" />
        </property>
</bean>

4、CAS服务端的界面改造

  4.1、将登陆页login.html拷贝到cas系统下WEB-INF\view\jsp\default\ui 目录下

  4.2、将相应的css  js等文件夹拷贝到  cas目录下

  4.3、将原来的casLoginView.jsp 改名(可以为之后的修改操作做参照),将login.html改名为casLoginView.jsp 

  4.4、编辑casLoginView.jsp 内容

//在修改后的文件顶部添加以下指令
<%@ page pageEncoding="UTF-8" %>
<%@ page contentType="text/html; charset=UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
//修改form标签,保留自己的css样式
<form:form method="post" id="fm1" commandName="${commandName}" htmlEscape="true" class="sui-form">
......
</form:form>
//修改用户名框
<form:input id="username" tabindex="1" 
    accesskey="${userNameAccessKey}" path="username" autocomplete="off" htmlEscape="true" 
    placeholder="邮箱/用户名/手机号" class="span2 input-xfat" />
//修改密码框
<form:password  id="password" tabindex="2" path="password" 
      accesskey="${passwordAccessKey}" htmlEscape="true" autocomplete="off" 
      placeholder="请输入密码" class="span2 input-xfat"   />
//修改登陆按钮
<input type="hidden" name="lt" value="${loginTicket}" />
<input type="hidden" name="execution" value="${flowExecutionKey}" />
<input type="hidden" name="_eventId" value="submit" />
<input class="sui-btn btn-block btn-xlarge btn-danger" accesskey="l" value="登陆" type="submit" />

  4.5、在表单内加入错误提示框

<form:errors path="*" id="msg" cssClass="errors" element="div" htmlEscape="false" />   //默认提示信息为英文

  设置国际化为zn_CN  ,修改WEB-INF/cas-servlet.xml中的en(61行)将i18n国际化修改为中文

<bean id="localeResolver" class="org.springframework.web.servlet.i18n.CookieLocaleResolver" p:defaultLocale="zh_CN" />

  在WEB-INF/classes/messages_zh_CN.properties中添加提示信息

 

authenticationFailure.AccountNotFoundException=\u7528\u6237\u4E0D\u5B58\u5728.    //用户名不存在时的错误提示
authenticationFailure.FailedLoginException=\u5BC6\u7801\u9519\u8BEF.      //密码错误的提示

 

  4.6、设置登出后自动跳转

  修改cas系统的配置文件cas-servlet.xml(217行)

 <bean id="logoutAction" class="org.jasig.cas.web.flow.LogoutAction"
        p:servicesManager-ref="servicesManager"
        p:followServiceRedirects="${cas.logout.followServiceRedirects:true}"/>

  此时就可以实现登出后跳转,如:跳转到百度

<a href="http://localhost:9100/cas/logout?service=http://www.baidu.com">退出登录</a>

 

CAS部署后的基本配置

原文:https://www.cnblogs.com/709539062rao/p/12934081.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!