apache的mod_auth_cas模块是一个集成到apache中的cas客户端,一般是配合Apache的反向代理来使用,对某个url的请求先经过apache,apache会判断是否经过cas认证,若未认证,则跳转到cas进行认证,若认证通过,则根据反向代理的规则,将请求转发到后台的应用中去处理,转发的时候一般会带上一个认证的头信息,后端的应用从Apache转发过来的头信息中获取到用户信息,让用户登录,整个登录操作完成。

配置:

1.引入so文件

直接运行a2enmod auth_cas命令

或者是把mod_auth_cas的源码编译之后的so文件,放到/usr/lib/apache2/modules/mod_auth_cas.so 然后,在mods-available目录新建auth_cas.load 和 auth_cas.conf

auth_cas.load内容:

  LoadModule auth_cas_module /usr/lib/apache2/modules/mod_auth_cas.so

auth_cas.conf 见下节

在apache的mods-enabled 中创建auth_cas.load 和 auth_cas.conf的软链接使配置生效

  ln -s auth_cas.load ../mods-available/auth_cas.load
  ln -s auth_cas.conf ../mods-available/auth_cas.conf

2.修改auth_cas.conf,内容如下

  LogLevel Debug
  CASDebug On
  CASVersion 2
  CASCookiePath /var/cache/apache2/mod_auth_cas/
  #CASValidateServer off
  #CASAllowWildcardCert on
  CASTimeout 1740
  CASIdleTimeout 1740
  CASLoginURL http://casserver:8080/cas/login
  #CASValidateURL http://casserver:8080/cas/samlValidate
  CASValidateURL http://casserver:8080/cas/serviceValidate
  #CASValidateURL http://casserver:8080/cas/samlValidate
  CASRootProxiedAs http://yourhost
  #CASValidateSAML On
  CASSSOEnabled On
  #CASAttributePrefix CAS_

新建/var/cache/apache2/mod_auth_cas/ 文件,并授予权限(让apache用户可以写入cookie信息)

3.修改代理配置

  <VirtualHost *:80>
  <LocationMatch "(/wiki.*$)|(/issues.*$)">
  Authtype CAS
  CASAuthNHeader REMOTE_USER
  require valid-user
  </LocationMatch>
  <Proxy *>
  Order deny,allow
  Allow from all
  </Proxy>
  ProxyPreserveHost On   ProxyPass /wiki http://wiki:8090/wiki
  ProxyPassReverse /wiki http://wiki:8090/wiki   ProxyPass /issues http://issues:8080/issues
  ProxyPassReverse /issues http://issues:8080/issues   </VirtualHost>

以上代理配置的介绍:apache拦截以 /wiki和/issues开头的url,发现没有通过CAS认证的话,会重定向到CAS认证,CAS认证通过之后,会把COOKIE的信息写入到auth_cas.conf中配置的CASCookiePath目录里,然后再代理到相应的地址,同时增加名为REMOTE_USER的header,应用里边只需要通过这个header找到相应的用户,让相应的用户登录即可

Apache 的mod_auth_cas模块的介绍和使用的更多相关文章

  1. Apache中 RewriteRule 规则参数介绍

    Apache中 RewriteRule 规则参数介绍 摘要: Apache模块 mod_rewrite 提供了一个基于正则表达式分析器的重写引擎来实时重写URL请求.它支持每个完整规则可以拥有不限数量 ...

  2. 通过apache,和nginx模块去除html中的空格和tab

    最近一个项目中,合作方要求去除html中的空格,不想改代码,所以百度了一下通过apache,和nginx模块去除html中的空格和tab的方案,下面记录下来: 一.nginx nginx可以通过mod ...

  3. 为Apache动态增加模块

    Apache已经安装完毕并投入运行,但是后来却发现部分模块没有加载,当然有两个方法: 1. 一是完全重新编译Apache, 再安装 2. 编译模块为SO文件,使用LoadModule指令加载扩展模块. ...

  4. ubuntu apache开启重写模块

    http://www.iblue.cc/2011/09/ubuntu-apache%E5%BC%80%E5%90%AF%E9%87%8D%E5%86%99%E6%A8%A1%E5%9D%97/ Ubu ...

  5. Apache的rewrite规则详细介绍

    Apache的rewrite规则详细介绍 发布日期:2008-09-02 16:16 来源: 作者: 点击:7044 rewrite标志 R[=code](force redirect) 强制外部重定 ...

  6. 给已经编译运行的Apache增加mod_proxy模块的配置方法

    在Linux系统下,需要给已经编译运行的Apache增加mod_proxy模块,可以按照如下方法配置. 具体配置步骤如下: 1. 首先定位到Apache源码的 proxy目录 # cd /root/s ...

  7. apache动态添加模块

    Apache已经安装完毕并投入运行,但是后来却发现部分模块没有加载,当然有两个方法: 1. 一是完全重新编译Apache, 再安装 2. 编译模块为SO文件,使用LoadModule指令加载扩展模块. ...

  8. 基于Metronic的Bootstrap开发框架--工作流模块功能介绍(2)

    本篇继续<基于Metronic的Bootstrap开发框架--工作流模块功能介绍>,继续介绍基于Metronic的Bootstrap开发框架的工作模块功能,介绍工作流模块中相关业务表单的界 ...

  9. Winform开发框架中的内容及文档管理模块功能介绍

    在开发项目的时候,我们有一些场景需要编辑一些HTML文档,作为内容发布系统的一部分,有时候也需要对一些文档如WORD文档进行编辑管理,这样需要我们对这些内容及文档进行合适的管理.本文主要介绍在WInf ...

随机推荐

  1. css box-shadow添加阴影

    基础说明:     外阴影:box-shadow: X轴  Y轴  Rpx  color;     属性说明(顺序依次对应): 阴影的X轴(可以使用负值)    阴影的Y轴(可以使用负值)    阴影 ...

  2. js document.activeElement及使用

    // 解决键盘弹出后挡表单的问题 // 解决键盘弹出后挡表单的问题 window.addEventListener('resize', function() { if( document.active ...

  3. 在swift中使用线程休眠

    C#和php都有sleep让线程休眠指定时间后再继续执行后面的代码,swift中应该如何呢?首先,找一下objective-c版本是怎么做的 [self performSelector:@select ...

  4. unity之UGUI屏幕分辨率調整

    1.Canvas的屬性配置: 2.Canvas Scaler的屬性配置: 3.根據不同的屏幕比例動態寫改碩放基準: public float standard_width = 800f; //初始宽度 ...

  5. Unity3D学习笔记——Android远程真机调试(Unity Remote)

    前言:当使用Unity开发移动端的游戏,特别是使用到手机的传感器,如重力感应等,调试的时候,很麻烦, 因为每次都需要编译成APK后安装到手机中测试,而Unity Remote便能很好的解决这个问题,U ...

  6. hdfs 机架感知

    一.背景   分布式的集群通常包含非常多的机器,由于受到机架槽位和交换机网口的限制,通常大型的分布式集群都会跨好几个机架,由多个机架上的机器共同组成一个分布式集群.机架内的机器之间的网络速度通常都会高 ...

  7. [OpenCV] Samples 15: Background Subtraction and Gaussian mixture models

    不错的草稿.但进一步处理是必然的,也是难点所在. Extended: 固定摄像头,采用Gaussian mixture models对背景建模. OpenCV 中实现了两个版本的高斯混合背景/前景分割 ...

  8. MapWinGIS------引发类型为“System.Windows.Forms.AxHost+InvalidActiveXStateException”的异常

    转载:http://www.cnblogs.com/dzone/archive/2011/09/08/2171445.html

  9. Java显示指定类型的文件

    文件作为存储数据的单元,会根据数据类型产生很多分类,也就是所谓的文件类型.在对数据文件进行操作时,常常需要根据不同的文件类型来作不同的处理.本实例实现的是读取文件夹指定类型的文件并显示到表格控件中.这 ...

  10. 搭建Vue.js环境,建立一个简单的Vue项目

    基于vue-cli快速构建 Vue是近年来比较火的一个前端框架,所以搭建Vue.js环境,要装webpack,vue-cli,Vue 安装webpack命令如下 $ cnpm install webp ...