BOS_V6.3_BOS实施指南_单点登录(V2.0版)

前  言
   本指南共分为六个章节,第一章介绍了单点登录的概念和作用,以及EAS支持的单点登录集成方案;第二章分析了单点登录的需求分析和实施过程;第三章分析了EAS单点登录各集成方案的具体实施和配置步骤;第四章介绍了EAS与其他第三方单点登录方案的集成方法;第五章介绍了单点登录的相关知识;第六章是FAQ

 

适用对象
   本指南适用于EAS单点登录设计和开发人员,需要进行EAS单点登录集成的实施及二次开发人员,以及想了解BOS单点登录的开发者。
   通过本指南的学习可以使实施或开发人员掌握将EAS与其它第三方系统快速进行单点登录集成的方法和技巧。

 

目  录

前  言 2
适用对象 3
目  录 4
第一章  概述 6
1.1 什么是单点登录 6
1.2 单点登录的作用 6
1.3  EAS的单点登录 6
1.3.1 EAS支持的单点登录集成方案 6
1.3.2 EAS的单点登录技术服务组件 7
第二章  单点登录需求分析及实施 9
2.1 用户单点登录集成需求调研 9
2.2 确定单点登录集成实现方案 9
2.3 制订单点登录集成实现计划 9
2.4 开发配置实现单点登录集成 9
第三章  单点登录认证服务的集成与实现 11
3.1 用户认证校验处理器 11
3.1.1 EAS标准产品支持的认证处理器 11
3.1.2 注册和配置认证处理器实现类 11
3.1.3 扩展第三方用户认证的认证处理器 13
3.1.4 扩展认证处理器参考实现EAS 用户认证登录配置 15
3.1.5 EAS用户认证登录类及相关配置 15
3.2 LDAP域认证方案的配置与实现 16
3.2.1 LDAP服务器连接参数配置 16
3.2.2 配置LDAP域用户认证处理器 17
3.3 微软AD域认证方案的配置与实现 17
3.3.1 AD域服务器连接参数配置 18
3.3.2 配置EAS用户认证登录类 19
3.2.3 配置微软AD域用户认证处理器 19
3.3 LTPA认证方案的配置与实现 19
3.3.1 配置密钥文件 20
3.3.2 LTPA Token加密和校验接口介绍 20
3.3.3 第三方应用集成EAS portal的实现步骤 21
3.3.4 EAS portal集成第三方应用的实现步骤 23
3.4 用户集成组件 24
3.4.1 用户数据导入 24
3.4.2 用户映射管理 28
3.4.3 用户集成参数配置 29
3.4.4 定义用户数据周期同步后台事务 30
3.4 CAS集成组件 32
3.4.1 CAS服务器参数配置 32
3.4.2 新增EAS登录所需要参数的配置文件 33
3.4.3 安装EAS支持第三方CAS服务器的相关补丁 34
第四章  EAS其它单点登录集成方案 35
4.1 EAS portal与WebSphere全局安全性单点登录方案的集成 35
4.1.1 EAS企业应用程序 (eas.ear) 的配置 35
4.1.2 EAS Portal Web应用程序 (cp_web.war) 的配置 36
4.1.3 基于FORM认证登录页面的开发 38
4.1.4 使用管理控制台部署EAS 41
4.2 基于IBM JDK的EAS集成微软AD域认证的方案 43
4.2.1 AD认证服务器和EAS服务器独立部署方案介绍 43
4.2.2 搭建和配置AD域认证服务器 43
4.2.3 搭建和配置EAS服务器 43
4.3 EAS portal与Domino 7.0的集成 44
4.3.1 Domino Web SSO 配置步骤 44
4.3.2 密钥文件生成步骤 63
4.3.3 DOMINO应用集成配置步骤 66
第五章  单点登录的相关知识介绍 68
5.1 域相关概念和术语介绍 68
5.1.1 目录 68
5.1.2 目录服务 70
5.1.3 专有名称(DN) 70
5.1.4 DN 转义规则 71
5.1.5 增强的 DN 处理 72
5.1.6 后缀(Suffix) 72
5.1.7参照(Referrals) 72
5.1.8 模式(Schema) 73
5.1.9 对象类(objectClass) 73
第六章  FAQ 76
6.1 独立部署后web框架需要重新登录问题 76
术  语 77
附  录 78
附录1:JAAS 78
附录2:Kerberos 78
附录3:LTPA 79

 

 


第一章  概述

1.1 什么是单点登录
   单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一。SSO的一个通用的定义是:在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统,而无需进行多次登录。

1.2 单点登录的作用
   通过单点登录技术可以对企业各异构应用系统的登录流程及用户管理进行集成,使企业可以采用统一的认证方式,使企业用户只需要登录一次即可访问各应用系统,从而提高企业各应用系统的易用性。

1.3  EAS的单点登录

1.3.1 EAS支持的单点登录集成方案
   EAS的标准产品中支持以下几种单点登录集成及认证方案:
   (1) LDAP ( 轻量目录访问协议:Lightweight Directory Access Protocol ) 域认证方案
   (2) 微软AD ( 活动目录:Active Directory ) 域认证方案
   (3) LTPA ( 轻量级第三方认证:Lightweight Third Party Authentication ) 认证方案
   (4) CAS ( 中央认证服务:Central Authentication Service ) 集成认证方案
   (5) 基于WebSphere全局安全性认证方案
   其中,LDAP域认证方案可以使EAS支持登录时通过LDAP服务器对用户进行认证和校验;微软AD域认证方案可以使EAS支持登录时通过微软AD域服务器对用户进行认证和校验;LTPA认证方案可以使EAS和其它第三方Web应用系统进行单点登录集成;CAS集成认证方案可以使EAS portal支持使用其它标准的CAS服务器进行单点登录;基于WebSphere全局安全性认证方案可以使EAS与WebSphere全局安全性进行单点登录集成。

1.3.2 EAS的单点登录技术服务组件
   EAS的单点登录技术主要提供以下三个服务组件:
   (1) 用户认证校验处理器
   (2) 用户集成管理器
   (3) CAS单点登录集成组件

1.3.2.1 用户认证校验处理器
   用户认证校验处理器主要用于定义认证接口,实现EAS支持的单点登录用户认证的不同方案,在用户进行EAS系统登录时采用用户所配置的认证方案进行认证。
   用户认证校验处理器支持对其它第三方认证进行扩展,通过二次开发实现认证接口,调用第三方认证逻辑,实现第三方用户认证。
   EAS标准产品支持提供以下处理器:
   (1) EAS 传统认证处理器,即:用户名密码认证
   (2) LDAP域认证处理器
   (3) 微软AD域认证处理器
   (4) LTPA认证处理器

1.3.2.2 用户集成组件
   用户集成组件主要用于将第三方数据源的用户账号信息集成导入同步到EAS系统中,并且与EAS系统中的用户建立起对应的映射关系;其主要包括用户数据导入和用户映射两个管理模块。
   目前EAS支持的导入数据源的类型主要是LDAP服务器 (包括微软AD域服务器)。(注:集成数据库类型的数据源可通过EAI平台来完成)

1.3.2.3 CAS单点登录集成组件
   CAS是一套开源的基于Java语言的单点登录服务框架,它以 Filter (过滤器) 的方式保护 Web 应用的受保护资源。
   过滤器过滤从客户端过来的每一个 Web 请求,同时 CAS Client 会分析 HTTP 请求中是否包请求 Ticket ( 即:图1.1中的凭证)。
   如果没有,则说明该用户是没有经过认证的,于是,Filter 会重定向用户请求到认证服务。
   用户认证成功后, 认证服务会产生一个随机的 Ticket,然后缓存该 Ticket并且重定向用户到访问应用。
   部署应用与认证服务间通过ticket完成了一个对用户的身份核实。


图1.1  CAS单点登录集成访问应用跳转流程图

 

第二章  单点登录需求分析及实施

   分析和实现客户单点登录集成需求主要有以下几个步骤:
2.1 用户单点登录集成需求调研
   需求调研阶段需要详细对客户现有的业务系统进行调研,了解清楚客户期望的单点登录集成的效果和目标。
   调研参考内容有如下几点:
   (1) 各业务系统使用状况;包括业务系统的运行环境、用户数据库和应用规模、用户数量等信息。
   (2) 各业务系统的用户登录过程说明;包括各业务系统在登录时需要进行的验证过程和验证所需信息等。
   (3) 单点登录集成需求目标;包括用户期望达到的单点登录集成目标,界面流展现其单点登录过程和要求,以及基准用户库( 原有业务系统数据库、新数据库或者LDAP服务器)等
   
2.2 确定单点登录集成实现方案
   确定实现方案阶段主要做以下几个工作:
   (1) 首先确定基准用户库及用户管理工具
   (2) 然后制订各系统与基准用户库的映射和同步策略
   (3) 最后确定单点登录集成实现方案

2.3 制订单点登录集成实现计划
   制订计划阶段因各业务系统的运行环境可能差异比较大,可能是异构平台,用户的统一和同步映射处理也需要时间,已有系统也在线使用中,因此,需要制订好详细的实现计划,以规避和降低风险。

2.4 开发配置实现单点登录集成
   开发集成阶段主要做以下几个工作:
   (1) 根据各业务系统实际情况,进行相应接口的开发(包括用户同步/映射)
   (2) 完成开发后进行相关配置
   (3) 部署单点登录集成实现方案并在测试环境进行测试


第三章  单点登录认证服务的集成与实现

3.1 用户认证校验处理器

   用户认证校验处理器是单点登录集成过程中,某一种认证方式具体的认证逻辑的实现,EAS标准产品中支持几种常用的认证处理器,同时也支持二次开发扩展自己的认证处理器。

3.1.1 EAS标准产品支持的认证处理器
   EAS标准产品支持的认证处理器信息如表3.1所示:
  表3.1  EAS支持的认证处理器
认证处理器 名称 认证处理器实现类 说明
EAS 传统(用户名密码)认证 BaseDB com.kingdee.eas.cp.eip.sso.EasDefaultAuthHandler EAS传统认证,基于EAS数据库中的用户名密码进行认证校验
LDAP域认证 BaseLDAP com.kingdee.eas.cp.eip.sso.ldap.LdapAuthHandler 基于LDAP协议的目录用户认证
微软AD域认证 BaseAD com.kingdee.eas.cp.eip.sso.ad.ActiveDirAuthHandler 基于微软活动目录(AD)进行用户管理,采用kerberors LoginModule进行认证校验
LTPA认证 BaseTrdLtpaToken com.kingdee.eas.cp.eip.sso.ltpa.LtpaTokenAuthHandler LTPA Token认证

3.1.2 注册和配置认证处理器实现类
   在确定了单点登录集成的认证方案后,需要通过配置来切换不同的认证处理器,从而实现不同的单点登录认证方案。其配置方法如下:
   首先,在服务器server\deploy\portalConfig目录下打开认证处理器的配置文件easAuthPatterns.xml,其配置内容及格式如下:
   
     
     BaseDB
     BaseDB
     com.kingdee.eas.cp.eip.sso.EasDefaultAuthHandler
      Base Eas user table authentication,is Eas default Authentication
    

    BaseDB
    session
   

节点及参数说明:
   (1) authPattern节点:表示某种认证处理器,包括:name、displayName、authHandler和description四个属性;
a)  name:认证处理器名称,请使用英文字母命名,且需在整个文档中命名唯一
b)  displayName:认证处理器显示名称;
c)  authHandler:认证处理器实现类的全路径类名;
d)  description:认证处理器的描述信息。
   (2) default节点:表示EAS缺省使用的认证处理器,该值为配置文件中已定义authPattern节点的name值
   (3) scope节点:表示EAS认证处理器的作用域,scope 仅能取以下值:
a)  application:EAS统一采用一种认证处理器,即由 default节点指定的认证处理器
b)  session:EAS允许用户根据工作场所,选择不同的认证处理器;如:外网可使用EAS传统认证、内网则使用AD认证(即域用户认证)
   注意:EAS Portal标准产品的登录窗口未提供认证模式选择项,即此方式是为了与第三方系统集成预留的,以便可通过URL参数authPattern或进行登录页个性化开发来指定用户登录认证模式。
   如:以下URL为指定AD域用户自动登录
   http://portalServer:port/easportal/autoLogin.jsp?authPattern=BaseADWithAutoLogin
   然后,加入新的认证处理器 (即:authPattern节点) 并且将EAS缺省使用的认证处理器修改成该节点名称 (即:修改default节点) ,例如,现在需要将EAS的认证方式改成LTPA认证,则增加及修改的配置信息如下:
   
     
     
           BaseTrdLtpaToken
           BaseTrdLtpaToken
           com.kingdee.eas.cp.eip.sso.ltpa.LtpaTokenAuthHandler
           Base third system's Lightweight Third Party Authentication
      

    BaseTrdLtpaToken
    session
   

   另外,EAS标准产品中默认配置用户名密码认证处理器,即上面举例的第一段配置信息。

3.1.3 扩展第三方用户认证的认证处理器
   如果EAS提供的认证处理器并不能满足客户的需求,则EAS也支持二次开发对用户认证处理器进行扩展,以实现其它的认证方案。其实现步骤如下:
   (1) 实现EAS用户认证处理器统一接口,接口定义如下:
   /*  EAS SSO认证处理器接口 */
   public interface IEasAuthHandler
    /**
     * 获取外部系统所映射的EAS USER名称
     */
    public String getEasUserNumber(Context ctx, String externalUserNumber)
    throws BOSLoginException;
    
    /**
     * 是否进行EAS 用户密码校验
     */
    public boolean isVerifyEasUserPwd();
    
    /**
     * 用户认证校验接口
     */
    public boolean authenticate(UserContextCallback userCtxCallback, String userNumber, String password) throws BOSLoginException;
    
   }
接口说明:
   a) public String getEasUserNumber(Context ctx, String externalUserNumber)
   外部系统用户转换为EAS 用户的接口,如:AD用户名转为EAS用户名
   b) public boolean isVerifyEasUserPwd()
   此接口定义是否需要进行EAS传统用户名和密码的校验
   c) public boolean authenticate(UserContextCallback userCtxCallback, String userNumber, String password)
   此接口为用户认证校验接口,若用户认证通过,则返回true,若不通过则返回false
   (2) 将新开发的用户认证处理器部署到EAS服务器环境中,并采用3.1.2节中的方法将该用户认证处理器注册成EAS缺省使用的认证处理器。

3.1.4 扩展认证处理器参考实现EAS 用户认证登录配置
   EAS提供的微软AD域认证处理器实现用户认证处理器接口的代码如下:
/* AbstractEasAuthHandler类实现了IEasAuthHandler接口*/
public class ActiveDirAuthHandler extends AbstractEasAuthHandler {
 public boolean authenticate(UserContextCallback userCtxCallback,
   String userNumber, String password) throws BOSLoginException {
  boolean result = false ;
  LoginContext lc = null ;
  try {
   /* Set up the Callback handler, and initialise the userid and password fields */
   UserPwdCallbackHandler ch = new UserPwdCallbackHandler();
   ch.setUserId(userNumber);
      ch.setPasswords(password);
   /* Initialise the login context */
        /* set to use Krb5LoginModule. */
   /* 实际用户认证由com.sun.security.auth.module.Krb5LoginModulele类处理 */
   lc = new LoginContext(ActiveDirAuthHandler.class.getName(), ch);
       /* Perform the authentication */
      lc.login();
   result = true ;
  } catch (LoginException le) {
  }
  return result;
 }
}

3.1.5 EAS用户认证登录类及相关配置
   EAS 用户认证采用了标准的JAAS (JAVA认证和授权服务:Java Authentication and Authorization Service) 的服务,JAAS的详细信息请参见附录1用户认证的LoginModule类可很方便的插拨或堆叠,其配置是通过服务端\server\properties目录下的login.config文件来实现的,login.config文件配置了EAS 默认使用的LoginModule,通常情况下,该配置文件无须更改,该配置文件内容如下:
eas {
    com.kingdee.eas.cp.eip.sso.EasMultiAuthLoginModule required debug=true;
};

com.kingdee.eas.cp.eip.sso.web.auth.EASAuthHandler {
    com.kingdee.eas.cp.eip.sso.EasMultiAuthLoginModule required debug=true;
};

com.kingdee.eas.cp.eip.sso.ad.ActiveDirAuthHandler
{
 com.sun.security.auth.module.Krb5LoginModule required client=TRUE debug=true useTicketCache=FALSE;
};
说明:
(1) eas为EAS GUI客户端登录时所用LoginModule
(2) com.kingdee.eas.cp.eip.sso.web.auth.EASAuthHandler 为 EAS portal登录时所用LoginModule (注:实际上与eas的配置内容是相同的)
(3) com.kingdee.eas.cp.eip.sso.ad.ActiveDirAuthHandler 则用于与微软AD域认证集成,即在AD认证模式 (BaseAD) 下,此配置才起作用;

3.2 LDAP域认证方案的配置与实现
   LDAP域认证方案可以通过配置实现EAS GUI客户端和portal登录时用户在LDAP服务器上进行认证,其配置步骤如下:

3.2.1 LDAP服务器连接参数配置
   在服务端server\profiles\server1\config\portalConfig目录下的ldapConfig.properties文件用于配置连接LDAP服务器的参数,文件内容如下:

contextFactory=com.sun.jndi.ldap.LdapCtxFactory
ldapHost=192.168.16.2
ldapPort=389
authentication=simple
principal=username
credentials=password

参数说明:
(1) contextFactory:LDAP连接默认工厂类,
如果服务器使用的是Sun的JDK则应配置为:com.sun.jndi.ldap.LdapCtxFactory 如果服务器使用的是IBM的JDK则应配置为:com.ibm.jndi.ldap.LdapCtxFactory
(2) ldapHost:LDAP目录服务器IP地址
(3) ldapPort:LDAP目录服务器端口号,通常情况下缺省是389
(4) authentication:LDAP连接认证模式,通常情况下配置为simple
(5) principal:LDAP证书的名称,通常情况下配置为username
(6) credentials:principal的密码,通常情况下配置为password
   将实际采用的LDAP目录服务器IP地址和端口号配置到该文件中。

3.2.2 配置LDAP域用户认证处理器
   按照3.1.2节所述方法将LDAP域用户认证处理器配置到easAuthPatterns.xml文件中,LDAP域用户认证处理器的authPattern节点定义如下:

 BaseLDAP
 BaseLDAP
 com.kingdee.eas.cp.eip.sso.ldap.LdapAuthHandler
  Base LDAP Authentication

3.3 微软AD域认证方案的配置与实现
   微软AD域认证方案可以通过配置实现EAS GUI客户端和portal登录时用户在微软AD域服务器上进行认证,其配置步骤如下:
   (注意:由于AD域认证的实现需要使用Sun JDK 中的com.sun.security.auth.module.Krb5LoginModule类,而IBM JDK中的该类的实现和Sun JDK的实现完全不同,所以EAS 的微软AD域认证处理器只支持Sun JDK而不支持IBM JDK,如果EAS服务器环境中使用IBM JDK 则需要采取其它解决方案,请参见4.2节内容)

3.3.1 AD域服务器连接参数配置
   EAS采用基于Kerberos认证的配置文件与AD域服务器进行连接,Kerberos的详细信息请参见附录2,在服务端server\properties目录下的krb5.conf文件用于配置连接AD域服务器的参数,文件内容如下:

[libdefaults]
        default_realm = KINGDEE.COM
        default_checksum = rsa-md5
     clockskew  = 360
[realms]
        KINGDEE.COM= {
                kdc = 192.168.16.2
        }
[domain_realm]
 .kingdee.com = KINGDEE.COM
[logging]
        default = FILE:E:/EAS4.1/apusic/logs/default.log
        kdc = FILE:E:/EAS4.1/apusic/logs/kdc.log
        admin_server = FILE:E:/EAS4.1/apusic/logs/kadmin.log
      kdc_rotate = {
        period = 1d
        versions = 10
      }

参数说明:
(1) default_realm:为AD域控制全限定域名 (例如:KINGDEE.COM),注意:此参数值中的字母必须大写,如上配置参数所示。
(2) kdc :为AD域服务器IP地址,注意:该参数外层的参数必须同default_realm定义的域名相同,如上配置参数所示。
(3) domain_realm:该段中定义了应用实际域名或主机名和AD域名的映射关系,其定义格式和规范如上配置参数所示,一般为:.域名称(小写,最前面有个点) = 域名称(大写)。
   实际使用中,用户只需要配置上面红色字体标注的部分,将实际采用的AD域服务器的域名和IP地址配置到该文件中。

3.3.2 配置EAS用户认证登录类
在服务端\server\properties目录下的login.config文件中加入以下配置参数:com.kingdee.eas.cp.eip.sso.ad.ActiveDirAuthHandler
{
 com.sun.security.auth.module.Krb5LoginModule required client=TRUE debug=true useTicketCache=FALSE;
};

3.2.3 配置微软AD域用户认证处理器
   按照3.1.2节所述方法将微软AD域用户认证处理器配置到easAuthPatterns.xml文件中,AD域用户认证处理器的authPattern节点定义如下:

 BaseAD
 BaseAD
 com.kingdee.eas.cp.eip.sso.ad.ActiveDirAuthHandler
  Base Microsoft AD Authentication

3.4 LTPA认证方案的配置与实现
   LTPA是一个基于web的认证框架,LTPA的详细信息请参见附录3,EAS的LTPA认证方案是一种基于web的加密认证机制,通过EAS portal与第三方web应用系统进行集成,可以实现只需登录一次即可相互进行访问,其配置步骤如下:

3.4.1 配置密钥文件
   服务端server\profiles\server1\config\portalConfig目录下的LtpaToken.properties文件即为LTPA Token 加密串的密钥,文件内容如下:

cookie.domain=.vanke.com
token.expiration=30
domino.secret=BTfa8F+HwNejYEGtuZSJTWOZ/t8\=

参数说明:
(1) cookie.domain:与Domino集成时才有用的参数,通常无需关注
(2) token.expiration:token串的有效时间,这里以分钟为单位,用于校验token串时检查其是否过期,其有效时间从生成token串时Web应用的系统时间开始算起,因此,LTPA认证集成机制要求被集成的各Web应用服务器的系统时间需要保持一致
(3) domino.secret:加密生成token串的密钥,该参数可以是任意指定的一个字符串,没有长度限制,而且建议定期更换该密钥以增加安全性。
   该文件需要在EAS服务器环境和要集成Web应用系统的环境中各保存一份,且密钥必须相同,注意:在EAS服务器环境中该文件的存放路径不用改变,即上述缺省路径即可,在第三方Web应用系统中该文件的存放路径可任意指定 (例如:D:\TrdWebApp\security)。

3.4.2 LTPA Token加密和校验接口介绍
   在服务端server\lib\server\bos目录下的cp_sso-server.jar包包含了LTPA Token的生成和校验工具类com.kingdee.eas.cp.eip.sso.ltpa.LtpaTokenManager类,该类主要接口定义如下:

public static LtpaToken generate(String canonicalUser,String configFile);
public static boolean verifyToken(String path, String token, String userNumber);

接口说明如下:
(1) public static LtpaToken generate(String canonicalUser,String configFile);
   该接口主要用于使用密钥文件LtpaToken.properties生成LTPA Token加密串。
   参数说明:
   a) canonicalUser:登录用户账号
   b) configFile:LtpaToken.properties文件全路径 (例如:D:\TrdWebApp\security\LtpaToken.properties)
   
(2) public static boolean verifyToken(String path, String token, String userNumber);
   该接口主要用于校验LTPA Token串的合法性。
   参数说明:
   a) path:LtpaToken.properties文件全路径 (例如:D:\TrdWebApp\security\LtpaToken.properties)
   b) token:使用generate接口生成的LTPA Token加密串
   c) userNumber:使用generate接口生成的LTPA Token加密串时传入的登录用户账号

3.4.3 第三方应用集成EAS portal(即:在第三方应用中打开EAS portal)的实现步骤
   在第三方Web应用系统中集成EAS portal通常指,在第三方系统中增加一个EAS portal的访问地址,然后在再登录到第三方系统后,通过该访问地址可以直接进入到EAS portal中,该方案需要EAS portal和第三方系统都要做一些配置或开发工作,其集成步骤如下:
   EAS系统需要做的配置工作:
   (1) EAS 6.0 及sp1版本需要安装补丁PTM037265,EAS 7.0 sp1及以后版本则缺省包含该补丁内容;
   (2) 将服务端server\profiles\server1\config\portalConfig目录下的ssoClient.properties文件中的sso.easIsSSOClient参数项的值修改为true;
   (3) 将服务端server\profiles\server1\config\portalConfig目录下的autoLoginConfig.properties文件中的datacenter参数修改为EAS portal要登录的数据中心代码 (即:数据中心id),并且将authPattern参数修改为BaseTrdLtpaToken;
   (4) 重新启动EAS 服务器;
   
   第三方系统需要做的开发工作:
   (5) 将LTPATokenManager.jar包(该包请联系金蝶的工程师获取)部署到第三方系统中;(注意:此方式只针对于第三方系统基于java语言实现,如果是基于.net 语言实现的系统则无法直接使用Token加密和校验java接口,需要以web service的方式调用Token加密和校验服务)
   (6) 在第三方系统中增加如下代码逻辑:
   a) 获取登录用户账号
   b) 使用LtpaTokenManager的generate方法生成LTPA Token加密串
   c) 访问EAS portal的单点登录请求地址:
   http://:/easportal/index2sso.jsp?username="+username+"&password="+password+"&redirectTo="+redirectTo
   其中,参数username为登录用户账号;参数password为Token加密串;参数redirectTo为登录后跳转的portal应用的地址。
   注:通常情况下如果只需要直接登录到portal的主页,则可以删除红色部分redirectTo参数

示例jsp代码如下:
<%@ page contentType="text/html;charset=UTF-8" %>
<%@ page import="com.kingdee.eas.cp.eip.sso.ltpa.LtpaTokenManager,com.kingdee.eas.cp.eip.sso.ltpa.LtpaToken"%>
<%@ page import = "java.net.URLEncoder" %>
<%
String username = "user";
String password = LtpaTokenManager.generate(username, LtpaTokenManager.getDefaultLtpaConfig()).toString();
/* 处理中文字符串 */
username = URLEncoder.encode(username, "UTF-8");
password = URLEncoder.encode(password, "UTF-8");
String url = " 展开阅读全文

  • 点赞
  • 评论
  • 分享
    x

    海报分享

    扫一扫,分享海报

  • 收藏
  • 手机看

    分享到微信朋友圈

    x

    扫一扫,手机阅读

    • 文章举报
  • 关注
收起全文

EAS和shr单点登录集成

04-23
该文档详细描述了EAS系统集成shr的 单点 登录的开发文档,详情请看文档说明。

一线分享

12-25 1157

SAP BO 单点登录

URL: "http://<hostname>:<port>/BOE/BI/logon/start.do?i vsLogonToken="+logonToken Value i vsLogonToken:String host = Ser verUtil.getSystemProperty(Constants.HOST);String port = Ser verUtil...
还能输入1000个字符

javadgz913的博客

03-06 166

EAS单点登陆和消息集成到第三方系统

如何实现金蝶的 单点 登录集成?

pgbiao的专栏

06-15 8432

剖析LtpaToken(实现B/S应用间的安全SSO)

一、  WebSphere与Domino之间的SSO       首先让我们来了解一下Websphere与Domino之间是怎么完成SSO的: 1、  Web用户向Websphere发起一个 登录请求。2、  Websphere判断为合法用户, 登录成功。3、  生成ltpatoken,将ltpatoken写入cookie。 这样,当Web用户后续向Domino发起 登录请求...

Qvip的专栏

10-13 1733

Socks5配置文件Socks5.conf – socks5 daemon 的配置文件

Socks5 daemon通常从/etc/socks5.conf读配置文件。但如果你编译socks5时用了 –with-sr vconffile=filename参数,你可以改变文件目录。如果系统是FreeBSD,配置文件缺省是/usr/local/etc/socks5.conf。 DESCRIPTION Socks5 daemon 启动时或收到一个HUP信号时,都读此配置文件。配置文件保存以下信息...

raodehui的博客

07-11 1204

金蝶EAS通过第三方系统单点登录

这里写自定义目录标题金蝶EAS通过第三方系统 单点 登录操作步骤第三方系统代码示例示例jsp代码如下:示例ja va代码如下:金蝶EAS通过第三方系统 单点 登录操作步骤1、需要有LtpaTokenManager.jar包2、从EAS服务器上下载 ser ver\profiles\ser ver(1…n)\config\portalConfig\LtpaToken.properties3、将服......

Domino单点登录LTPAtoken生成原理

01-21
Domino 单点 登录LTPAtoken生成原理

模拟发送http请求时,名为LtpaToken的Cookie如何获取?

11-14
现在已成功实现java发送post请求模拟登陆公司内网,使用httpwatch抓包。 但是成功登录后发现名为LtpaToken的Cookie不知是从哪里获取的?没有在抓取的任何URL的响应信息中找到它,但是在接下来的请求中,又必须带上这个Cookie。 那么,我该怎么获取LtpaToken的值呢?

qq_37976489的博客

12-25 3118

金蝶EAS-BOS二开详细过程

我们在做金蝶的项目时,经常会要求更改其项目本身的代码。但是它的代码都被封装在jar包中,我们应该怎么做呢?将要二开的单据实体或者facade 复制到我们的本地项目中 选中你要修改的具体实体或者facade 右键点击复制 重命名 复制到我们的项目中                                        打开资源目录用notepad 或者其他打开 添加一段代码......

weixin_34117522的博客

06-04 338

金蝶WAFII

转载于:https://www.cnblogs.com/luojiabao/p/10973438.html

用Servlet写了个BO单点登录 但是死在了IEnterpriseSession enterpriseSession获取参数的地方 求解!!!!!

04-11
import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; impor

u011277123的博客

11-30 3万+

单点登录原理与简单实现

创未来 2016-11-29 16:09一、单系统 登录机制1、http无状态协议web应用采用browser/ser ver架构,http作为通信协议。http是无状态协议,浏览器的每一次请求,服务器会独立处理,不与之前或之后的请求产生关联,这个过程用下图说明,三次请求/响应对之间没有任何联系但这也同时意味着,任何用户都能通过浏览器访问服务器资源,如果想保护服务器的某些资...

LTPA Token是什么,怎么用

10-11
LTPA Token是什么,怎么用,我是active directory和ibm portal相结合的;还有DOMINO的 通过门户访问aa系统过程 1. 客户端发起一个请求登陆门户,门户通过AD验证

单点登录集成接口文档及配置实施手册

01-05
金和软件 单点 登录集成接口文档及 实施手册,为用户通过C6协同平台点集需要 登录的业务系统提供用于 单点 登录的地址。

单点登录方案

09-06
单点 登录和统一认证方案,特点是使用了SAML、集中式资源授权、UsbKey等

giianhui的专栏

11-21 102

BOS_V6.3_BOS实施指南_单点登录

参考链接:https://blog.csdn.net/jackxinxu2100/article/details/40678485?locationNum=4

JavaWebToken相关jar包

11-24
Ja va后台,生成和校验Ja vaWebToken时,需要用到此jar。

初级玩转Linux+Ubuntu(嵌入式开发基础课程)

06-26
课程主要面向嵌入式Linux初学者、工程师、学生 主要从一下几方面进行讲解: 1.linux学习路线、基本命令、高级命令 2.shell、vi及vim入门讲解 3.软件安装下载、NFS、Samba、FTP等服务器配置及使用

逍遥杜的博客

06-10 3万+

我以为我对Mysql事务很熟,直到我遇到了阿里面试官

太惨了,面试又被吊打
©️2020 CSDN 皮肤主题: 大白 设计师: CSDN官方博客 返回首页

你可能感兴趣的:(EAS,BOS)