`
hm2008
  • 浏览: 27026 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

WEB-SSO CAS Server 3.3.5,Bonita-5.4-Tomcat-6.0.29

阅读更多

(接到上一篇)

 

整合 Bonita到cas里面,Bonita的版本是5.4

 

1.先将以前生成的密钥导入到Bonita所再的机器上的jvm里面

例如:

keytool -import -keystore /usr/lib/jvm/java-6-sun/jre/lib/security/cacerts -file  /root/wsria.crt -alias key

2.将cas client jar包导入 到{BONITA_HOME}/lib

 

3.新建一个filter

public class WebAuthenticationFilter extends org.jasig.cas.client.util.AbstractCasFilter {
 
   
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain chain) throws IOException, ServletException {

        HttpServletRequest request = (HttpServletRequest)servletRequest;
        HttpSession session = request.getSession();

        CredentialsEncryptionAPIImpl credEncAPI = CredentialsEncryptionAPIImpl.getInstance();
        String username = request.getRemoteUser();

        String encryptedCredentials;
        try {
            encryptedCredentials = credEncAPI.encryptCredential(username);
            session.setAttribute(LoginServlet.USER_CREDENTIALS_SESSION_PARAM_KEY, encryptedCredentials);
        } catch (GeneralSecurityException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

   

        chain.doFilter(servletRequest, servletResponse);
    }
}

 

编译后曾class文件,再导入到cas-client.jar包中。

4.修改{BONITA_HOME}/webapps/WEB-INF/web.xml

主要是增加相关的过滤器

<!-- *******  -->
<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://server177:9443/cas/login</param-value>
    </init-param>
    <init-param>
        <param-name>service</param-name>
        <param-value>http://172.25.165.4:8080/bonita/</param-value>
    </init-param>
    <init-param>
        <param-name>serverName</param-name>
        <param-value>http://172.25.165.4:8080</param-value>
    </init-param>
</filter>
<filter>
    <filter-name>CAS Validation Filter</filter-name>
    <filter-class>org.jasig.cas.client.validation.Cas10TicketValidationFilter</filter-class>
    <init-param>
        <param-name>casServerUrlPrefix</param-name>
        <param-value>https://server177:9443/cas</param-value>
    </init-param>
    <init-param>
        <param-name>serverName</param-name>
        <param-value>http://172.25.165.4:8080</param-value>
    </init-param>
</filter>
<filter>
    <filter-name>CAS HttpServletRequest Wrapper Filter</filter-name>
    <filter-class>org.jasig.cas.client.util.HttpServletRequestWrapperFilter</filter-class>
</filter>
<filter>
    <filter-name>CAS Web Authentication Filter</filter-name>
    <!-- NOTE: Class below is a custom written filter - see attached code -->
    <filter-class>org.jasig.cas.client.tomcat.authentication.WebAuthenticationFilter</filter-class>
    <init-param>
        <param-name>service</param-name>
        <param-value>http://172.25.165.4:8080/bonita/</param-value>
    </init-param>
    <init-param>
        <param-name>serverName</param-name>
        <param-value>http://172.25.165.4:8080</param-value>
    </init-param>
</filter>
  <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-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 HttpServletRequest Wrapper Filter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
    <filter-name>CAS Web Authentication Filter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

 

5.测试OK....

 

补充一点: 就再启动和查看流程的时候 需要再次登录问题。。

You have to disable BOS internal SSO (cendential transmission) in bonita/client/web/common/conf/security-config.properties.

Set forms.application.credentials.transmission to false

分享到:
评论

相关推荐

    cas-server-webapp

    CAS(Central Authentication Service) 是 Yale 大学发起的一个开源项目,据统计,大概每 10 个采用开源构建 Web SSO 的 Java 项目,就有 8 个使用 CAS 。

    CAS SERVER 3.3.5

    2. **CAS Server安装**:下载cas-server-3.3.5压缩包,解压到Tomcat的webapps目录下,启动Tomcat即可。 3. **配置文件**:修改`cas.properties`文件,配置CAS Server与认证源的连接信息,如数据库URL、用户名、密码...

    SSO CAS Server 二次开发说明文档

    ### SSO CAS Server 二次开发说明文档 #### 环境搭建 为了便于进行二次开发,推荐使用Maven overlays特性来构建开发环境。这样可以利用最新版本的资源文件覆盖现有WAR包中的文件,无需手动导入整个`cas-server-...

    boot-ssoserver

    【标题】"boot-ssoserver" 是一个基于Spring Security构建的前端后端分离的单点登录(SSO)服务项目。该项目的核心是利用Spring Boot的便捷性和Spring Cloud的微服务架构来实现高效的SSO解决方案。 【描述】提到,...

    SSO.zip_SSO J2EE_Web-SSO src_java sso_sso java_web sso

    用J2EE的技术(JSP和Servlet)完成了一个具有Web-SSO的简单样例。样例包含一个身份认证的服务器和两个简单的Web应用,使得这两个 Web应用通过统一的身份认证服务来完成Web-SSO的功能

    xxl-sso-1.1.0

    XXL-SSO 1.1.0 是一个专为初学者设计的简单单点登录(Single Sign-On,简称SSO)系统示例。这个项目是基于Maven构建的,适用于那些想要学习如何实现SSO功能的开发者。通过将源代码导入Eclipse等开发工具,用户可以...

    boot-ssoserver.rar

    如今,互联网项目对于安全的要求越来越严格,这就是对后端开发提出了更多的要求,目前比较成熟的几种大家比较熟悉的模式,像RBAC 基于角色权限的验证,shiro框架专门用于处理权限方面的,另一个比较流行的后端框架是...

    web-sso单点登录源码

    从技术本身的角度分析了单点登录技术的内部机制和实现手段,并且给出Web-SSO和桌面SSO的实现、源代码和详细讲解;还从安全和性能的角度对现有的实现技术进行进一步分析,指出相应的风险和需要改进的方面。本文除了从...

    smart-sso.rar

    单点登录(Single Sign-On,简称SSO)是一种身份验证机制,允许用户在一次登录后访问多个相互关联的应用系统,而无需再次输入凭证。在本文中,我们将深入探讨基于Spring Boot、MyBatis和Redis实现的SSO解决方案——...

    xxl-sso-core-1.1.1-SNAPSHOT.jar

    xxl/sso 核心处理包

    Laravel开发-discourse-sso-laravel

    【Laravel开发-discourse-sSO-laravel】 Laravel是一个基于PHP的开源Web应用程序框架,以其优雅的语法和强大的功能而闻名。它为开发者提供了一种高效的方式来构建可维护且易于扩展的Web应用。"Laravel开发-...

    XXL-SSO是一个分布式单点登录框架

    在提供的压缩包`xuxueli-xxl-sso-3b96854`中,我们可以找到XXL-SSO的源代码和相关资源,包括项目的结构、配置文件、测试用例等。通过研究源代码,开发者可以深入理解其工作原理,自定义配置以满足特定需求,或者为...

    Laravel开发-sso-broker

    本项目"laravel开发-sso-broker"旨在利用Laravel构建一个SSO代理,基于Jasny/SSO库,以实现跨多个Laravel应用的SSO功能。 **1. Jasny/SSO 库介绍** Jasny/SSO是由荷兰开发者Arnout Boks创建的一个轻量级的SSO解决...

    cas-server-webapp-4.0.0单点登录(带超详细文档、数据连接jar包、c3p0)可运行

    单点登录 sso cas带超详细文档,包含(cas-server-webapp-4.0.0.war、c3p0-0.9.1.2.jar、cas-client-core-3.3.3.jar、cas-server-support-jdbc-4.0.0.jar、cas-server-webapp-support-4.0.0.jar、commons-logging-...

    cas-server-3.1.1-release.zip_CAS SSO_CAS-server_Cas Server RDBMS

    CAS在Tomcat中实现单点登录项目,单点登录(Single Sign On , 简称 SSO )是目前比较流行的服务于企业业务整合的解决方案之一, SSO 使得在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。...

    Android代码-xxl-sso

    XXL-SSO XXL-SSO, A Distributed Single-Sign-On Framework. -- Home Page -- Introduction XXL-SSO is a distributed single-sign-on framework. You only need to log in ...

    cas-client-3.2.1 cas-server-3.4.11

    CAS(Central Authentication Service)是一种基于Web的单点登录(Single Sign-On, SSO)协议,广泛应用于企业、教育和组织的认证系统。标题中的"cas-client-3.2.1"和"cas-server-3.4.11"分别指的是CAS客户端和...

    django3-cas-server-3.0.0.tar.gz

    标题 "django3-cas-server-3.0.0.tar.gz" 指示这是一个针对 Django 3.x 版本优化的 CAS(Central Authentication Service)服务器的源代码压缩包。CAS 是一个开源的身份验证协议,它允许用户通过单一登录(Single ...

    Laravel开发-cas-server

    Laravel 开发中的 CAS (Central Authentication Service) 服务器是实现单点登录(Single Sign-On, SSO)的一种常见方法。CAS 是一个开放源码的认证协议,旨在简化Web应用的认证流程,允许用户在一次登录后访问多个...

    CAS-SSO系统架构 ppt

    CAS-SSO系统架构的核心在于中心服务器(CAS Server)对登录与注销状态的控制。当用户试图访问任何一个子系统时,子系统首先会向中心服务器查询该用户的状态。如果用户已经在中心服务器登录,子系统将接收到来自中心...

Global site tag (gtag.js) - Google Analytics