CAS代理配置

CAS Server:www.sinosoft.com

代理服务:palace.sinosoft.com

被代理服务:gguser.sinosoft.com

1. 建立key,命令如下:

keytool -genkey -alias palace -keyalg RSA -keystore palace -ext san=dns:palace.sinosoft.com,dns:gguser.sinosoft.com,dns:www.sinosoft.com
keytool -export -file palace.crt -alias palace -keystore palace

2. 导入key(在三台机器上都导入)

keytool -import -keystore "c:\Program Files\Java\jdk1.7.0_79\jre\lib\security\cacerts" -file d:\keys\palace.crt -alias palace

3. 修改tomcat的server.xml,添加如下语句:

其中马赛克处是密码

4. 代理服务的web.xml配置添加如下:

PS:配置在其他的filter之前.注意配置的顺序等.

<!-- begin CAS -->

    <listener>
        <listener-class>org.jasig.cas.client.session.SingleSignOutHttpSessionListener</listener-class>
    </listener>

    <filter>
        <filter-name>CAS Single Sign Out Filter</filter-name>
        <filter-class>org.jasig.cas.client.session.SingleSignOutFilter</filter-class>
    </filter>

    <filter>
        <filter-name>CAS Authentication Filter</filter-name>
        <filter-class>org.jasig.cas.client.authentication.AuthenticationFilter</filter-class>
        <init-param>
            <param-name>casServerLoginUrl</param-name>
            <param-value>https://www.sinosoft.com:8443/CAS-yuan02/login</param-value>
        </init-param>
        <init-param>
            <param-name>serverName</param-name>
            <param-value>http://palace.sinosoft.com:8080</param-value>
        </init-param>
    </filter>

    <filter>
        <filter-name>CAS Validation Filter</filter-name>
        <filter-class>
                     org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter</filter-class>
        <init-param>
            <param-name>casServerUrlPrefix</param-name>
            <param-value>https://www.sinosoft.com:8443/CAS-yuan02</param-value>
        </init-param>
        <init-param>
            <param-name>serverName</param-name>
            <param-value>http://palace.sinosoft.com:8080</param-value>
        </init-param>

        <init-param>
            <param-name>acceptAnyProxy</param-name>
            <param-value>true</param-value>
        </init-param>
        <init-param>
            <param-name>proxyCallbackUrl</param-name>
            <param-value>https://palace.sinosoft.com:8443/palace/proxyCallback</param-value>
        </init-param>
        <init-param>
            <param-name>proxyReceptorUrl</param-name>
            <param-value>/proxyCallback</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>CAS Validation Filter</filter-name>
        <url-pattern>/proxyCallback</url-pattern>
    </filter-mapping>

    <filter-mapping>
        <filter-name>CAS Authentication Filter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

    <filter-mapping>
        <filter-name>CAS Validation Filter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

      <filter-mapping>
        <filter-name>CAS Single Sign Out Filter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

    <filter>
        <filter-name>CAS HttpServletRequest Wrapper Filter</filter-name>
        <filter-class>
                     org.jasig.cas.client.util.HttpServletRequestWrapperFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>CAS HttpServletRequest Wrapper Filter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

    <filter>
        <filter-name>CAS Assertion Thread Local Filter</filter-name>
        <filter-class>org.jasig.cas.client.util.AssertionThreadLocalFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>CAS Assertion Thread Local Filter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

    <!-- end CAS -->

5. 被代理服务的web.xml配置

<!-- ======================== 单点登录开始 ======================== -->
             <!-- 用于单点退出,该过滤器用于实现单点登出功能,可选配置-->
             <listener>
                <listener-class>org.jasig.cas.client.session.SingleSignOutHttpSessionListener</listener-class>
              </listener>
             <filter>
                 <filter-name>CAS Single Sign Out Filter</filter-name>
                 <filter-class>org.jasig.cas.client.session.SingleSignOutFilter</filter-class>
             </filter>
             <filter-mapping>
                 <filter-name>CAS Single Sign Out Filter</filter-name>
                 <url-pattern>/*</url-pattern>
             </filter-mapping>

             <filter>
                 <filter-name>CAS Filter</filter-name>
                 <filter-class>org.jasig.cas.client.authentication.AuthenticationFilter</filter-class>
                 <init-param>
                     <param-name>casServerLoginUrl</param-name>
                     <param-value>https://www.sinosoft.com:8443/CAS-yuan02/login</param-value>
                 </init-param>
                 <init-param>
                     <param-name>serverName</param-name>
                     <param-value>http://gguser.sinosoft.com:8080</param-value>
                </init-param>
             </filter>
             <filter-mapping>
                 <filter-name>CAS Filter</filter-name>
                 <url-pattern>/*</url-pattern>
             </filter-mapping>
             <filter>
                 <filter-name>CAS Validation Filter</filter-name>
                 <filter-class>
                     org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter</filter-class>
                 <init-param>
                     <param-name>casServerUrlPrefix</param-name>
                     <param-value>https://www.sinosoft.com:8443/CAS-yuan02</param-value>
                 </init-param>
                <init-param>
                     <param-name>serverName</param-name>
                     <param-value>http://gguser.sinosoft.com:8080</param-value>
                </init-param>

                    <init-param>
                    <!-- redirectAfterValidation must be false, otherwise the request params
                        from proxying app could not be received -->
                    <param-name>redirectAfterValidation</param-name>
                    <param-value>false</param-value>
                </init-param>
                <init-param>
                    <param-name>acceptAnyProxy</param-name>
                    <param-value>true</param-value>
                </init-param>

             </filter>
             <filter-mapping>
                 <filter-name>CAS Validation Filter</filter-name>
                 <url-pattern>/*</url-pattern>
             </filter-mapping>

             <filter>
                <filter-name>CAS HttpServletRequest Wrapper Filter</filter-name>
                 <filter-class>
                     org.jasig.cas.client.util.HttpServletRequestWrapperFilter</filter-class>
             </filter>
             <filter-mapping>
                 <filter-name>CAS HttpServletRequest Wrapper Filter</filter-name>
                 <url-pattern>/*</url-pattern>
             </filter-mapping>

             <filter>
                 <filter-name>CAS Assertion Thread Local Filter</filter-name>
                 <filter-class>org.jasig.cas.client.util.AssertionThreadLocalFilter</filter-class>
             </filter>
             <filter-mapping>
                 <filter-name>CAS Assertion Thread Local Filter</filter-name>
                 <url-pattern>/*</url-pattern>
             </filter-mapping>
             <!-- ======================== 单点登录结束 ======================== -->
时间: 2024-10-18 16:09:18

CAS代理配置的相关文章

cas 代理认证配置

注:本文转自http://www.ichatter.net/2013/03/21/385/ CAS(Central Authentication Service)框架是一个开源的单点登陆框架.最近公司要将几个产品实现单点登陆,同事在负责技术筛选时选择了CAS,并已实现了单点登陆功能,但是在配置代理功能时,遇到了诸多问题,目前虽然代理勉强可用,但问题重重,比如系统A在后台需要访问系统B的功能,在此情景中,系统A就相当于代理应用,而系统B是被代理的应用. 问题如下: 1.系统A作为代理,不能向被代理

CAS sso配置

最近在研究sso单点登录的问题,研究了网上许多案例以及代码,发现总是有很大的差别,最后通过官网下载,才发现cas3 与 cas 4 的配置存在区别,这就是差别很大的原因了. 官网地址如下: https://www.apereo.org/search/node/cas 下面只针对cas4进行整理吧,因为cas4 相对于cas3 来说,是有增无减了. 1.下载 地址http://downloads.jasig.org/ cas-server-4.0.0-release.tar.gz cas-clie

Python+Nginx实现邮件POP、IMAP、SMTP代理配置介绍

说到Python,大家都知道,是在运维方面的管理人员需要掌握的一门技术,为什么这么说呢,在运维方面Python开发语言应用比较广,以致可以帮助管理员提高工作效率,具体我就不多少了,接着我们说说邮件代理,因为公司的邮箱系统是使用是IBM的Domino Lotus服务,如果对Lotus了解的都知道,Lotus是文件数据库类型的服务器类型,用户的所有邮箱数据库都是独立的xxx.nsf,而通过数据库模板xxx.ntf进行创建或者定时刷新数据,来保证数据库的额稳定性.而当用户数量多的话,就需要创建多台邮件

Mvc4单点登录之三Cas 客户端配置

上一篇博客讲解了cas服务端的配置,这篇博客为大家讲一下cas 客户端的配置! 第一步建项目 自己新建一个mvc的项目.如图所示! 第二步添引用 将上一篇博客开头中让下载的文件,下载下来后,将dotnet-client-1.0.2-bin 文件中的 DotNetCasClient.dll文件复制到bin文件夹下,并添加DotNetCasClient.dll的引用. 第三步添视图 在Controller中 新建一个controller命名为HomeController,然后为里边的index添加一

Nginx安装和反向代理配置

Nginx安装和反向代理配置 Nginx安装需要一些准备工作. 安装gcc等 yum -y install make zlib zlib-devel gcc-c++ libtool  openssl openssl-devel 还需要安装pcre,PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括 Perl兼容的正则表达式库. yum -y install pcre 下载Nginx源码包,这里选择是1.7.8版本.并且解压缩,并且编译 wge

Apache正向代理与反向代理配置

Apache正向代理与反向代理配置 正向代理示例配置: ProxyRequests On ProxyVia On <Proxy *> Order deny,allow Deny from all Allow from 192.168.0 </Proxy> CacheEnable disk / CacheRoot "/var/cache/mod_proxy" 反向代理示例配置: ProxyRequests Off <Proxy *> Order den

Android SDK Manager 更新代理配置

Android SDK Manager 更新代理配置 启动 Android SDK Manager ,打开主界面,依次选择「Tools」.「Options...」,弹出『Android SDK Manager - Settings』窗口: 在『Android SDK Manager - Settings』窗口中,在「HTTP Proxy Server」和「HTTP Proxy Port」输入框内填入 mirrors.neusoft.edu.cn 和 80,并且选中「Force https://.

3proxy 二级代理配置样例

适应情况: 有时,我们的机器HOST-A只能通过代理服务器HOST-B才可以访问internet, 而与我们相连的机器HOST-C也需要访问internet, 但是HOST-C却不能直接访问HOST-A,此时可以以HOST-A为桥梁(二级代理服务器),让HOST-C访问internet,以下是开源3proxy做为二级代理服务器的配置样例 ###########################################################################    3

BIEE邮件代理配置

 一.邮件服务器的配置 : 点击"应用 " 并"激活更改" 重启应用 二.代理的配置  选择创建代理 ,能看到代理的具体配置页:主要用到的一般信息.调度.传送内容.收件人和目标.至于条件与操作的话有兴趣的可以自己研究. 一般信息页这个Tab页,主要设定代理的"优先级"与"运行身份",这里根据实际情况进行选择. 调试页面设置代理具体是如何运作的,可以不启用也可以指定具体的执行频率等,具体根据实际情况进行选择. 传送内容页面主要设