Mac上配置cas server

配置cas的server

  1. 安装tomcat

    brew install tomcat       //安装tomcat
    brew ls tomcat            //查看tomcat的安装目录
    
  2. 配置打包cas server

    1. 下载:https://www.apereo.org/projects/cas/download-cas 下载CAS Server 4.0.0

      说明:下载下来的server包含好些子程序,我们现在只需要使用cas-server-webapp就可以了。

    2. 配置登录用户

      修改cas-server-webapp—》src-》main -》webapp-》WEB-INF -》deployerConfigContext.xml

      将文件中的:

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

      替换为:

      <bean id="primaryAuthenticationHandler"
                class="org.jasig.cas.authentication.AcceptUsersAuthenticationHandler">
              <property name="users">
                  <map>
                      <entry key="admin" value="admin1"/>
                      <entry key="user1" value="admin1"/>
                      <entry key="user2" value="admin1"/>
                  </map>
              </property>
      </bean>
      

      说明:

      entry的key为用户名,value为用户密码。

      key需要和系统的username对应起来

    3. 配置可以使用http

      修改cas-server-webapp—》src-》main -》webapp-》WEB-INF -》spring-configuration—》ticketGrantingTicketCookieGenerator.xml

      p:cookieSecure的值改为false。eg:

      <bean id="ticketGrantingTicketCookieGenerator" class="org.jasig.cas.web.support.CookieRetrievingCookieGenerator"
            p:cookieSecure="false"
            p:cookieMaxAge="-1"
            p:cookieName="CASTGC"
            p:cookiePath="/cas"/>
      
    4. 打war包

      在cas-server-webapp目录下,命令行输入

      mvn package

      则在cas-server-webapp的target目录下,将会生成一个car.war文件。

  3. 部署server的war包

    • 把打包好的cas.war包放到$TOMCAT_HOME/webapps下,不用建目录;

    • 然后,修改$TOMCAT_HOME/conf/server.xml,在Host配置段中添加类似于如下内容:

      <Context path="/" docBase="cas.war" debug="0" privileged="true" reloadable="true"/> 
      
  4. 运行tomcat

程序配置

不配置cas server的临时解决方案

  • 方式一:所有的action都无需登录:

    在application.groovy中配置过滤器:

    grails.plugin.springsecurity.filterChain.chainMap = [
            [pattern: '/assets/**', filters: 'none'],
            [pattern: '/**/js/**', filters: 'none'],
            [pattern: '/**/css/**', filters: 'none'],
            [pattern: '/**/images/**', filters: 'none'],
            [pattern: '/**/favicon.ico', filters: 'none'],
    //        [pattern: '/**', filters: 'JOINED_FILTERS']       //配置所有的请求均需要登录验证
            [pattern: '/**', filters: 'none']                   //配置所有的都不需要登录
    ]
    

参考:

http://www.cnblogs.com/secsea/p/5177284.html

http://www.5iops.com/html/2012/sso_0713/182.html

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Promise 对象 Promise 的含义 Promise 是异步编程的一种解决方案,比传统的解决方案——回调函...
    neromous阅读 8,734评论 1 56
  • 本文适用的读者 本文写给有一定Promise使用经验的人,如果你还没有使用过Promise,这篇文章可能不适合你,...
    HZ充电大喵阅读 7,341评论 6 19
  • //本文内容起初摘抄于 阮一峰 作者的译文,用于记录和学习,建议观者移步于原文 概念: 所谓的Promise,...
    曾经过往阅读 1,260评论 0 7
  • Promiese 简单说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操作)的结果,语法上说,Pr...
    雨飞飞雨阅读 3,392评论 0 19
  • 那汩汩流动的爱泉, 在刹那间结成冰花。 曾经的你说, 我要带你去歌吧, 游历我们喜欢的每一个角落。 曾经的你说, ...
    荣小荣儿阅读 125评论 0 2