- 浏览: 69735 次
- 性别:
- 来自: 苏州
文章分类
最新评论
-
wangyudong:
由CXF实现的微服务需要有比较好的工具去测试RESTful A ...
cxf动态调用webservice设置超时,测试线程安全 -
jianhao84:
在myeclipse中测试程序正常,发布之后客户端就很慢很慢, ...
cxf动态调用webservice设置超时,测试线程安全 -
ruijf:
Zabbix监控java应用的原理就是利用了JMX功能。JMX ...
使用Zabbix的JMX功能监控应用 -
iCaca:
兄弟,能否介绍下监控的原理,特别是zabbix_server, ...
使用Zabbix的JMX功能监控应用
公司准备上SSO,选用CAS框架。本人学习了N久,总算配成功了。下面记录下涉及的各个节点。
1.CAS的名词解释及原理
2.HTTPS的配置
3.CAS Proxy的配置
4.测试
一、CAS名词解释及原理
这些个东东比较拗口,很难解释。我是看了好久才勉强理解。这方面的知识网络上有很多,介绍几个大牛的博客给大家看下吧。
名词解释:http://blog.csdn.net/tienway/article/details/5464516
原理:http://blog.csdn.net/emon123/article/details/6285549
http://www.blogjava.net/security/archive/2006/04/26/SSO_CASProxy.html
官方wiki:https://wiki.jasig.org/display/CASC/CAS+Client+for+Java+3.1
二、HTTPS的配置
1.测试环境
cas-client-3.2.0
cas-server-3.4.10
cas server: https://sso.test.com
backend service: http://backend.test.com
proxy service: http://proxy.test.com
host:
172.16.11.71 sso.test.com
172.16.11.72 backend.test.com
172.16.11.73 proxy.test.com
http端口默认80
https端口默认443
2.证书的生成
CAS Server和Proxy Service多需要使用HTTPS协议,因此需要生成2个证书。使用java自带的命令生成
cas server: keytool -genkey -alias cas_server -keystore cas_server.keystore -keyalg RSA -validity 3666
proxy service:keytool -genkey -alias proxy_service -keystore proxy_service.keystore -keyalg RSA -validity 3666
生成证书时的域名(第一个输入项)要和测试的域名匹配。比如cas server要输入sso.test.com, proxy service要输入proxy.test.com
3.tomcat配置
配置conf/server.xml
<Connector port="443" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" URIEncoding="utf-8" keystoreFile="conf/cas_server.keystore" keystorePass="changeit" />
配置好后重启tomcat,打开浏览器验证下。如果出现红框,点击信任。如果能进入页面就OK了。因为这些证书是不受浏览器信任的,每次会提示安全信息。可以设置下将证书导出到信任列表里,就不会每次提醒了。IE的选择安装证书一路OK就行了。
4.证书信任
CAS代理验证模式下cas server和proxy service会后台互相调用https接口。因此需要配置jvm信任彼此的证书。不然
会报PKIX啥的异常.
首先在sso.test.com将cas server的证书导出
keytool -export -alias cas_server -keystore cas_server.keystore -file cas_server.crt
然后将cas_server.crt拷贝到proxy.test.com机器上导入jvm
keytool -import -alias cas_server -file cas_server .crt -keystore $JAVA_HOME/jre/lib/security/cacerts
同理 再将proxy.test.com上proxy_service的证书导入sso.test.com的jvm
现在先期的HTTPS配置工作完成了。
三、CAS Proxy配置
proxy service配置:
<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> <listener> <listener-class>org.jasig.cas.client.session.SingleSignOutHttpSessionListener</listener-class> </listener> <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://sso.test.com/login</param-value> </init-param> <init-param> <param-name>renew</param-name> <param-value>false</param-value> </init-param> <init-param> <param-name>gateway</param-name> <param-value>false</param-value> </init-param> <init-param> <param-name>serverName</param-name> <param-value>http://proxy.test.com</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://sso.test.com/</param-value> </init-param> <init-param> <param-name>serverName</param-name> <param-value>http://proxy.test.com</param-value> </init-param> <init-param> <param-name>exceptionOnValidationFailure</param-name> <param-value>false</param-value> </init-param> <init-param> <param-name>redirectAfterValidation</param-name> <param-value>true</param-value> </init-param> <init-param> <param-name>acceptAnyProxy</param-name> <param-value>true</param-value> </init-param> <init-param> <param-name>useSession</param-name> <param-value>true</param-value> </init-param> <init-param> <param-name>proxyCallbackUrl</param-name> <param-value>https://proxy.test.com/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>*.jsp</url-pattern> </filter-mapping> <filter-mapping> <filter-name>CAS Validation Filter</filter-name> <url-pattern>*.jsp</url-pattern> </filter-mapping>
说明:
1.具体参数意义参见http://blog.csdn.net/tienway/article/details/5464516
2./proxyCallback这个接口原先yelu的jar包是单独的,cas_client_core是合并在
Cas20ProxyReceivingTicketValidationFilter类中。这个差别让我郁闷了很久。
3.过滤器的顺序不能乱了,前置的/proxyCallback官方没有这样的配置,这个得感谢(emon123)
http://blog.csdn.net/emon123/article/details/6285549
4.backend service配置同理
发表评论
-
使用solr4.6,Tomcat部署SolrCloud
2014-01-21 16:54 2470使用solr4.6在Tomcat中部署SolrCloud与前 ... -
hadoop 安装
2013-04-19 13:27 8501.centos6 中的portmap 改成了rpcbin ... -
CAS代理服务配置(二)
2012-01-05 21:03 1417四、测试页面 在proxy.test.com下部署个inde ... -
构建KVM虚拟机NAT网络
2011-09-26 15:03 4882现在的虚拟化架构越来越普遍了。最近摸索了下centos下如何构 ... -
Oracle RUEI安装
2011-08-23 10:37 2650最近在寻找各种web服务的监控方案,发现有用前端js脚 ... -
linux环境设置
2011-06-22 10:30 1038locale-gen zh_CN.UTF-8 locale- ... -
Nginx学习之一—反向代理
2011-05-12 11:40 1071一、代理分类 代理一般分为正向代理和反向代理。正向代理简单点 ... -
Java内存管理和GC学习
2011-05-04 16:23 3186内存划分 1。JAVA内存主要划分为方法栈、方法区、堆。 ... -
使用Zabbix的JMX功能监控应用
2011-05-04 10:33 5062Zabbix是一款功能强大的开源监控平台,目前最高版本1.9. ... -
远程调用JMX开放的方法
2011-04-29 16:26 3050JMX的功能主要通过远程调用RMI来实现。本文以获取c3po连 ... -
spring 任务调度框架Quartz
2011-04-29 11:39 1310Spring对任务调度框架Quartz做了很好的封装,开发人员 ... -
mvn 命令
2009-11-21 22:59 914命令: 生成普通工程: mvn archetype:creat ... -
taglib配置
2009-12-13 21:56 964tld文件放入META-INF中取名taglib.tld w ... -
Hibernate3.x openSession()与getCurrentSession()得到的连接的区别
2010-02-03 16:36 755测试1:openSession在不开启事务的情况下执行操作 ... -
cookie的相关
2010-10-21 15:56 6071.cookie并不是http协议的一部分,是浏览器与服务器交 ... -
Nginx rewrite last 和break区别
2010-10-26 11:04 929摘自 http://www.sudone.com/nginx/ ... -
spring配置文件的小技巧
2010-12-14 17:32 8381.如何在spring的配置文件中直接配置一个MAP? ... -
tomcat使用log4j分割日志的配置方法
2011-03-07 11:30 1476tomcat默认使用java.util.logging记录日志 ... -
tomcat服务器重启脚本
2011-03-08 10:35 717#!/bin/bash #得到命令变量 PRG=" ... -
基于JMX管理站点资源
2011-04-22 18:59 985一.How 1.创建配置文件的类,然后使用spring配 ...
相关推荐
完成如下功能 1、实现代理模式的相关配置 2、实现获取pgt,通过pgt生成pt,调用被代理的服务 3、实现二次调用服务的最佳实践
CAS Tools 提供了多种管理功能,包括虚拟机监控、虚拟机配置、虚拟机 migraion 等。CAS Tools 支持多种虚拟化平台,包括 VMware、Hyper-V、KVM 等。 安装 CAS Tools 安装 CAS Tools 需要在 Linux 系统中执行以下...
CAS单点登录的经典配置,以及多数据库的处理方案 CAS单点登录是Single Sign-On(SSO)的一种实现,允许用户一次性进行认证之后,就访问系统中不同的应用;而不需要访问每个应用时,都重新输入密码。CAS单点登录产品...
cas-proxy配置相关文档,文档内含详细配置方式
两边通过同一个nginx进行反向代理,nginx配置大致如下, location /health/ { proxy_pass http://192.168.40.159:8081/health/; #无问题的配置 } location /health-dev/ { proxy_pass ...
2.nginx反向代理elasticsearch,elasticsearch的访问端口为9200,采用nginx反向代理之后,当django中需要从elasticsearch中查询数据的时候只需要访问nginx的8081端口,为了保护elasticsearch的安全性在nginx中设置了...
这里目前有效: 基本工作流程(/login、/validate、/serviceValidate) 信任身份验证(默认禁用) /logout(暂时没有 SLO) 准确的服务主机的简单白名单(通配符可能有一天会出现) REST API CAS代理简单实现中间件...
CAS(中央身份验证服务)是Web的单点登录/单点退出协议。 我们假设您已经熟悉CAS协议,如果不熟悉,请在使用前阅读本。 安装 npm install connect-cas2 特征 非代理模式CAS登录/注销 代理模式CAS登录/注销,获取...
示例CASified Java Web应用程序这是一个示例Java Web应用程序,它通过Java CAS Client行使CAS协议功能。配置在文件中调整CAS服务器和应用程序服务器的url端点。 如果您希望执行代理身份验证,请在同一文件Cas20...
这里主要采用了代理的方法,就这么简单。 LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_connect_module modules/mod_proxy_connect.so LoadModule proxy_ftp_module modules/mod_proxy_ftp.so ...
* 邮箱服务器角色(Mailbox Role):该角色用于存储用户邮箱数据,执行代理客户端连接到客户端访问服务器,以及处理统一消息请求。邮箱服务器可以使用 DAG 组成后端集群。 Exchange 2013 系统要求 在部署 ...
grafana 身份验证代理使用和 Express 在 Google OAuth2、基本身份验证或 CAS 身份验证背后最新的和 。 Elasticsearch、grafana 和用户客户端之间的代理支持基本认证保护的 Elasticsearch,只有 grafana-...
第一部分 Spring基础 ... 11.4.4 设置一个安全上下文 11.4.5 确保通道安全性 11.4.6 使用Acegi的标签库 11.5 保护方法调用 11.5.1 创建一个安全切面 11.5.2 使用元数据保护方法 11.6 小结
PortGroper 是一款java写的开源拒绝服务测试工具,它不是僵尸网络类的ddos,而是使用大量的代理作为bots发起DDOS。Port Groper可以与用测试防火墙,干扰web 统计脚本的跟踪,为网站增加流量..往好了用什么都能干,就是...
CAS地址优化统一配置到常量类CasConstants 注销空指针异常BUG OAuth2地址优化统一配置常量类OAuth2Constants OAuth2 Token多次调用时认证转换的BUG ExtendApi标准优化 增加基于时间签名的ExtendApi适配器 返回数据...
设置一个自定义的AuthenticationEntryPoint 64 6.4方法安全 64 6.4.1 元素 65 使用protect-pointcut添加安全性切入点 66 6.5默认AccessDecisionManager 67 6.5.1自定义AccessDecisionManager 67 6.6验证管理器和命名...
" "安全模式 "支持有代理和无代理两种模式的防病毒功能。能够对运 " " "行中进程和 I/O " " "事件实时病毒过滤;根据用户需求自定义扫描目录手动 " " "或计划病毒过滤,编辑扫描配置扫描范围、排除的文件 " " "和...
Java波浪文字,一个利用Java处理字符的实例,可以设置运动方向参数,显示文本的字符数组,高速文本颜色,显示字体的 FontMetrics对象,得到Graphics实例,得到Image实例,填充颜色数组数据,初始化颜色数组。...
因此,它提出了以下主要假设: 一台机器,如所述,基于“ 3Tomcat”的设置, 已配置为绑定到本地主机上的端口8180(代理/ cas),8280(所有其他webapp),8380(geoserver)的tomcat连接器, HTTP方案是主要方案...
PortGroper 是一款java写的开源拒绝服务测试工具,它不是僵尸网络类的ddos,而是使用大量的代理作为bots发起DDOS。Port Groper可以与用测试防火墙,干扰web 统计脚本的跟踪,为网站增加流量..往好了用什么都能干,就是...