`

利用OFBiz实现Single Sign On单点登录

 
阅读更多
1 、 ofbiz 单点登录介绍
ofbiz 点单登录是集成了 CAS SSO , LDAP 使用的,具体的 CAS 与 LDAP 怎么应用,在这里不做介绍。

2 、 ofbiz 点单登录文档
ofbiz 12 版本中,有英文的简单的 ofbiz 单点登录的问题。

路径在: apache-ofbiz-12.04.01\framework\documents\SingleSignOn.xml

3 、 ofbiz 单点登录目录
ofbiz   单点登录集成的目录在: apache-ofbiz-12.04.01\specialpurpose\ldap

在使用单点登录时需要把这个目录的应用加载到 component.xml 中。

4 、 ofbiz 点单登录原始应用

ofbiz 原始的单点登录建立在 CAS 与 LDAP 安装及配置好的前提下。

每一个 web 应用程序 , 您需要使用 LDAP( 单点登录 ) 功能 , 您需要更改事件的一些安全请求映射 org.ofbiz.ldap.LdapLoginWorker 类。

< request-map uri = "login" >

        < security https = "false" auth = "false" />

        < event type = "java" path = "org.ofbiz.ldap.LdapLoginWorker" invoke = "login" />

        < response name = "success" type = "view" value = "main" />

        < response name = "requirePasswordChange" type = "view" value = "requirePasswordChange" />

        < response name = "error" type = "view" value = "login" />

    </ request-map >

< request-map uri = "logout" >

        < security https = "false" auth = "false" />

        < event type = "java" path = "org.ofbiz.ldap.LdapLoginWorker " invoke = "logout" />

        < response name = "success" type = "request-redirect" value = "main" />

        < response name = "error" type = "view" value = "main" />

    </ request-map >

5 、 ofbiz ldap.xml 文件配置
进入这个文件,我相信搞过 ofbiz 的人都能开的明白。

在这我想说一下,安全配置的问题。

如果您不想用 ssl   https 这种模式情况下, https://localhost:8443/cas 这种方式改成 http://localhost:8080/cas 这种连接就可以了,这样 CAS 就不再有签名的问题,当然您也需要配置 CAS 不使用证书验证的方式。

6 、 ofbiz 单点登录流程


7 、 ofbiz SSO 改造应用
1 、 CAS 用户数据在 ofbiz 表中管理

新增加一个实体,名称为 SsoUserLogin , 数据和 UserLogin 数据同步,密码可以用先用明文或者通过 CAS 加密后的密文

2 、去掉 LDAP 验证

为了更方便简单的单点登录的管理与应用,决定去掉 LDAP 。

在 OFBizCasAuthenticationHandler.java 中去掉:

//             SearchResult result = getLdapSearchResult( username ,password, rootElement, false);

//             if (result != null) {

//                 return login(request, response, username , password, rootElement, result);

//             }

这个事获取 ldap 验证及基于 ldap 的登录

改成:

LocalDispatcher dispatcher =(LocalDispatcher) request.getAttribute( "dispatcher" );

            Delegator delegator =dispatcher.getDelegator();

            GenericValue userTryToLogin= delegator.findOne( "SsoUserLogin" , false , "userLoginId" , username);

            String currentPas =userTryToLogin.getString( "currentPassword" );

            HttpSessionsession = request.getSession();

            session.setAttribute( "USERNAME" ,username);

            if (currentPas!= null && currentPas!= "" ){

               session.setAttribute( "PASSWORD" ,currentPas);

            } else {

               session.setAttribute( "PASSWORD" ,password);

            }

这样修改是为了使用 ofbiz 最原始的登录方式。

在 LdapLoginWorker.java 修改:

//             boolean useOFBizLoginWhenFail =Boolean.getBoolean(UtilXml.childElementValue(rootElement,"UseOFBizLoginWhenLDAPFail", "false"));

            //boolean useOFBizLoginWhenFail =Boolean.getBoolean(UtilXml.childElementValue(rootElement,"UseOFBizLoginWhenLDAPFail", "true"));

//           if(useOFBizLoginWhenFail) {

            if ( true ) {

                return LoginWorker. login (request,response);

            }

使用 ofbiz 原始方式登录

登出是一样的节凑。。。。。
分享到:
评论

相关推荐

    ofbiz sso 单点登录

    单点登录(Single Sign-On,简称 SSO)是一种身份验证机制,允许用户在一次登录后访问多个相互关联的应用系统,而无需再次输入凭证。在 ofbiz 中,SSO 实现是通过集成 Central Authentication Service(CAS)和 ...

    Ofbiz实战 之 SSO单点登录

    在大型Web应用中,单点登录(Single Sign-On, SSO)是一种常用的安全机制,旨在让用户在访问不同应用程序时只需要进行一次身份验证。这不仅能提升用户体验,还能提高系统的安全性。然而,由于不同应用可能部署在不同...

    ofbiz实现oracle平台小例子详解步骤及注意的问题.doc

    在本文中,我们将深入探讨如何在Oracle平台上实现OFBiz框架,并提供一个详细的小例子,以及在实施过程中需要注意的关键问题。OFBiz(Open For Business Project)是一个开源的企业应用框架,它包含了多种业务组件,...

    ofbiz学习笔记(自学整理)

    Apache Ofbiz是一个开源的企业应用框架,它为构建复杂的业务应用程序提供了全面的功能,包括供应链管理、电子商务、财务会计、人力资源等。对于初学者来说,理解Ofbiz的基本架构和工作原理是至关重要的。 Ofbiz的...

    ofbiz api开发文档

    《OFBiz API 开发文档详解》 在信息技术领域,OFBiz(Open For ...总结,OFBiz API开发文档是开发者掌握OFBiz框架的必备资料,通过深入学习和实践,开发者可以充分利用OFBiz的强大功能,实现高效的企业级应用开发。

    ofbiz开发者入门教程

    在实践中,Ofbiz开发者还需要了解如何使用Ant或Maven进行构建,以及如何利用Ofbiz的EJB、JPA、JMS和Spring等集成特性。此外,理解Ofbiz的事件驱动模型和基于服务组件架构(Service Component Architecture, SCA)的...

    ofbiz开发入门之CmsBackEnd实现的CRUD

    本篇文章将探讨的是OFBiz的开发入门,特别是关于CmsBackEnd如何实现CRUD操作,即创建(Create)、读取(Retrieve)、更新(Update)和删除/Delete。 首先,理解OFBiz的基本架构至关重要。OFBiz采用Service Engine、Entity...

    OFBIZ开发指南 英文2

    本指南深入浅出地讲解了如何利用OFBIZ进行开发,帮助开发者理解和掌握其核心概念和技术。 在OFBIZ的开发过程中,首先你需要了解的是OFBIZ的基础架构。OFBIZ基于服务导向架构(SOA),采用模块化设计,使得系统扩展...

    Ofbiz 数据库全模型

    Ofbiz,全称为The Open For Business Project,是一个开源的企业应用框架,主要由Apache软件基金会维护。这个项目旨在提供一套全面的、可...无论是初学者还是经验丰富的Ofbiz开发者,都应该重视并充分利用这一资源。

    Ofbiz快速开发入门详解

    《Ofbiz快速开发入门详解》是一本针对初学者的指南,旨在...通过这本书,你不仅能理解Ofbiz的基本架构,还能学会如何利用Ofbiz快速开发出满足业务需求的应用程序。配合源代码实践,相信你能在Ofbiz的世界中快速成长。

    关于OFBIZ的资料

    通过深入探索OFBIZ_Demo,无论是初学者还是经验丰富的开发者,都可以进一步了解OfBiz的强大功能,掌握其核心概念和操作技巧,从而更好地利用这个平台来构建和管理企业的业务流程。记得定期检查Apache OfBiz的最新...

    ofbiz数据结构设计

    《OFBiz数据结构设计详解》 OFBiz,全称为Open For Business Project,是一个开源的企业级应用框架,主要用于构建和...在实际项目中,理解并熟练运用这些设计原则,将能更好地利用OFBiz构建出高效、稳定的企业级应用。

    ofbiz开发手册

    OFBiz 概貌的了解将有助于开发者更好地理解 OFBiz 的工作机制和实现原理。 OFBiz 应用开发 OFBiz 应用开发是指使用 OFBiz 平台开发电商应用程序的过程。OFBiz 应用开发包括需求分析、设计、实现、测试和部署等阶段...

    Apache OFBiz Cookbook

    ### Apache OFBiz Cookbook 知识点解析 #### 一、Apache OFBiz 概述 - **定义**:Apache OFBiz(Open For Business)是一款开源的企业级应用框架,它集成了ERP(企业资源规划)、CRM(客户关系管理)以及E-...

    Ofbiz数据模型查询手册

    这些案例可能会涵盖从简单的单表查询到复杂的多表联接,以及如何使用Ofbiz的查询API进行动态查询和结果处理。 在使用Ofbiz工具方面,手册会讲解如何利用提供的管理工具,如实体浏览器(Entity Browser)、数据导入...

    ofbiz git 服务搭建

    【OFBiz Git 服务搭建详解】 OFBiz是一个开源的企业级应用框架,主要用于构建和管理电子商务系统。本教程将详细介绍如何在本地环境中搭建OFBiz项目,并使用Git进行版本控制。 首先,确保你拥有以下基础环境: 1. ...

    ofbiz安装与配置

    Ofbiz 安装与配置指南 Ofbiz 是一个基于 Java 的开源企业级电子商务平台,提供了强大的电子商务解决方案。为了帮助初学者快速上手 Ofbiz,我们将详细介绍 Ofbiz 的安装与配置过程。 环境搭建 在开始安装 Ofbiz ...

    ofbiz10.04表结构

    标题中的"ofbiz10.04表结构"指的是OFBiz 10.04版本的数据模型设计,这是企业级开源应用框架OFBiz的一个重要组成部分。OFBiz全称为Open For Business Project,它是一个用于构建企业应用程序的全面业务解决方案,涵盖...

    朗华opencms ofbiz 结合包

    1. **接口集成**:实现OpenCMS与OFBiz之间的数据交换,例如通过Web服务或者自定义API,确保内容管理系统中的信息能够实时同步到业务系统中。 2. **模板集成**:OpenCMS的模板引擎可能被扩展,以便直接调用OFBiz提供...

    ofbiz开发入门总结

    2. 服务定义:在Ofbiz中,业务逻辑主要通过服务来实现。你需要编写XML服务定义文件,定义服务的行为、输入和输出参数。 3. 视图与控制器:Ofbiz使用Freemarker模板语言来生成动态视图,而控制器则通过XML文件定义,...

Global site tag (gtag.js) - Google Analytics