金蝶EASV75单点登录实施指南文档格式.docx

上传人:b****3 文档编号:18400845 上传时间:2022-12-16 格式:DOCX 页数:42 大小:968.20KB
下载 相关 举报
金蝶EASV75单点登录实施指南文档格式.docx_第1页
第1页 / 共42页
金蝶EASV75单点登录实施指南文档格式.docx_第2页
第2页 / 共42页
金蝶EASV75单点登录实施指南文档格式.docx_第3页
第3页 / 共42页
金蝶EASV75单点登录实施指南文档格式.docx_第4页
第4页 / 共42页
金蝶EASV75单点登录实施指南文档格式.docx_第5页
第5页 / 共42页
点击查看更多>>
下载资源
资源描述

金蝶EASV75单点登录实施指南文档格式.docx

《金蝶EASV75单点登录实施指南文档格式.docx》由会员分享,可在线阅读,更多相关《金蝶EASV75单点登录实施指南文档格式.docx(42页珍藏版)》请在冰豆网上搜索。

金蝶EASV75单点登录实施指南文档格式.docx

图.EAS单点登录服务组件层次关系图

EAS的单点登录主要包含三个服务组件:

认证校验处理器、认证集成组件和用户集成组件。

认证校验处理器是基础,认证集成组件依赖认证校验处理器,用户集成组件在身份信息同步时用到如AD域和LDAP认证时。

1.3.2认证校验处理器

认证校验处理器主要用于定义认证接口,实现认证的核心逻辑,支持不同的用户认证方案,通过在EAS系统中配置不同的认证处理器即可实现不同的认证方案。

认证校验处理器简称认证处理器。

用户认证校验处理器支持自定义扩展,通过二次开发实现EAS的认证接口,从而实现用户自定义的认证方案。

EAS标准产品支持提供以下认证校验处理器:

●EAS传统认证处理器,EAS连接数据库进行认证。

●微软AD域认证处理器;

●LDAP域认证处理器;

●LTPA认证处理器,LTPAToken集成认证所依赖的认证处理器。

1.3.3CAS集成认证组件

基于开源的CAS单点登录应用框架,单点登录就是由该组件实现。

CAS分为CASServer(CAS服务端)和CASClient(CAS客户端),CASServer在EAS中特指/eassso应用,EAS门户就是通过/eassso应用登录进去的,CASClient是与应用绑定在一起的,EAS中的应用/easportal/portal/easweb就内嵌绑定了CASClient。

CAS单点登录就是通过CASServer与CASClient的交互来完成的。

1.3.4LTPA认证集成组件

LTPA:

轻量级第三方认证(LightweightThirdPartyAuthentication),LTPA主要是利用对称加解密的原理来完成登录认证,主要应用于第三方系统与EAS整合的场景。

1.3.5用户集成组件

用户集成组件主要用于将第三方数据源的用户账号信息同步到EAS系统中,并且与EAS系统中的用户建立起对应的映射关系;

其主要包括用户数据导入和用户映射两个管理模块。

目前EAS支持的导入数据源的类型主要是LDAP服务器(包括微软AD域服务器)。

(注:

集成数据库类型的数据源可通过EAI平台来完成)

2单点登录需求分析及实施

分析和实现客户单点登录集成需求主要有以下几个步骤:

2.1用户单点登录集成需求调研

需求调研阶段需要详细对客户现有的业务系统进行调研,了解清楚客户期望的单点登录集成的效果和目标。

调研参考内容有如下几点:

●各业务系统主要信息:

包括业务系统基于的技术语言(Java/NET等)、用户数据库类型(Oracle/DB2等)和用户数量规模等信息。

●用户登录过程说明:

包括各业务系统在登录时需要进行的验证过程和验证所需信息等。

●单点登录集成需求目标:

包括用户期望达到的单点登录集成目标,界面流展现其单点登录过程和要求,以及基准用户库(原有业务系统数据库、新数据库或者LDAP目录服务器)等。

2.2确定单点登录集成实现方案

确定实现方案阶段主要做以下几个工作:

●首先确定基准用户库及用户管理工具

●然后制订各系统与基准用户库的映射和同步策略

●最后确定单点登录集成实现方案

2.3制订单点登录集成实现计划

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

2.4开发配置实现单点登录集成

开发集成阶段主要做以下几个工作:

●根据各业务系统实际情况,进行相应接口的开发(包括用户同步/映射)

●完成开发后进行相关配置

●部署单点登录集成实现方案并在测试环境进行测试

3单点登录认证服务的集成与实现

3.1用户认证校验处理器

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

3.1.1EAS标准产品支持的认证处理器

EAS标准产品支持的认证处理器信息如表3.1所示:

表3.1EAS支持的认证处理器

认证处理器

名称

认证处理器实现类

说明

EAS传统(用户名密码)认证

BaseDB

com.kingdee.eas.cp.eip.sso.EasDefaultAuthHandler

EAS传统认证,基于EAS数据库中的用户名密码进行认证校验

LDAP域认证

BaseLDAP

com.kingdee.eas.cp.eip.sso.ldap.LdapAuthHandler

基于LDAP协议的目录用户认证

微软AD域认证

aseAD

com.kingdee.eas.cp.eip.sso.ad.ActiveDirAuthHandler

基于微软活动目录(AD)进行用户管理,采用kerberorsLoginModule进行认证校验

LTPA认证

BaseTrdLtpaToken

com.kingdee.eas.cp.eip.sso.ltpa.LtpaTokenAuthHandler

LTPAToken认证

3.1.2注册和配置认证处理器实现类

在确定了单点登录集成的认证方案后,需要通过配置来切换不同的认证处理器,从而实现不同的单点登录认证方案。

其配置方法如下:

首先,在服务器server\profiles\server(1...n)\config\portalConfig目录下打开认证处理器的配置文件easAuthPatterns.xml,其配置内容及格式如下:

<

authPatterns>

<

authPattern>

<

name>

BaseDB<

/name>

displayName>

/displayName>

authHandler>

com.kingdee.eas.cp.eip.sso.EasDefaultAuthHandler<

/authHandler>

description>

BaseEasusertableauthentication,isEasdefaultAuthentication<

/description>

/authPattern>

default>

/default>

scope>

session<

/scope>

/authPatterns>

节点及参数说明:

●authPattern节点:

表示某种认证处理器,包括:

name、displayName、authHandler和description四个属性;

−name:

认证处理器名称,请使用英文字母命名,且需在整个文档中命名唯一

−displayName:

认证处理器显示名称;

−authHandler:

认证处理器实现类的全路径类名;

−description:

认证处理器的描述信息。

●default节点:

表示EAS缺省使用的认证处理器,该值为配置文件中已定义authPattern节点的name值

●scope节点:

表示EAS认证处理器的作用域,scope仅能取以下值:

−application:

EAS统一采用一种认证处理器,即由default节点指定的认证处理器

−session:

EAS允许用户根据工作场所,选择不同的认证处理器;

如:

外网可使用EAS传统认证、内网则使用AD认证(即域用户认证)

注意:

EASPortal标准产品的登录窗口未提供认证模式选择项,即此方式是为了与第三方系统集成预留的,以便可通过URL参数authPattern或进行登录页个性化开发来指定用户登录认证模式。

以下URL为指定AD域用户自动登录

http:

//portalServer:

port/easportal/autoLogin.jsp?

authPattern=BaseADWithAutoLogin

然后,加入新的认证处理器(即:

authPattern节点)并且将EAS缺省使用的认证处理器修改成该节点名称(即:

修改default节点),例如,现在需要将EAS的认证方式改成LTPA认证,则增加及修改的配置信息如下:

BaseTrdLtpaToken<

com.kingdee.eas.cp.eip.sso.ltpa.LtpaTokenAuthHandler<

Basethirdsystem'

sLightweightThirdPartyAuthentication<

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

3.1.3扩展第三方用户认证的认证处理器

如果EAS提供的认证处理器并不能满足客户的需求,则EAS也支持二次开发对用户认证处理器进行扩展,以实现其它的认证方案。

其实现步骤如下:

●实现EAS用户认证处理器统一接口,接口定义如下:

/*EASSSO认证处理器接口*/

publicinterfaceIEasAuthHandler

/**

*获取外部系统所映射的EASUSER名称

*/

publicStringgetEasUserNumber(Contextctx,StringexternalUserNumber)

throwsBOSLoginException;

*是否进行EAS用户密码校验

publicbooleanisVerifyEasUserPwd();

*用户认证校验接口

publicbooleanauthenticate(UserContextCallbackuserCtxCallback,StringuserNumber,Stringpassword)throwsBOSLoginException;

}

接口说明:

−publicStringgetEasUserNumber(Contextctx,StringexternalUserNumber)

外部系统用户转换为EAS用户的接口,如:

AD用户名转为EAS用户名

−publicbooleanisVerifyEasUserPwd()

此接口定义是否需要进行EAS传统用户名和密码的校验

−publicbooleanauthenticate(UserContextCallbackuserCtxCallback,StringuserNumber,Stringpassword)

此接口为用户认证校验接口,若用户认证通过,则返回true,若不通过则返回false

●将新开发的用户认证处理器部署到EAS服务器环境中,并采用3.1.2节中的方法将该用户认证处理器注册成EAS缺省使用的认证处理器。

3.1.4扩展认证处理器参考实现EAS用户认证登录配置

EAS提供的微软AD域认证处理器实现用户认证处理器接口的代码如下:

/*AbstractEasAuthHandler类实现了IEasAuthHandler接口*/

publicclassActiveDirAuthHandlerextendsAbstractEasAuthHandler{

publicbooleanauthenticate(UserContextCallbackuserCtxCallback,

StringuserNumber,Stringpassword)throwsBOSLoginException{

booleanresult=false;

LoginContextlc=null;

try{

/*SetuptheCallbackhandler,andinitialisetheuseridandpasswordfields*/

UserPwdCallbackHandlerch=newUserPwdCallbackHandler();

ch.setUserId(userNumber);

ch.setPasswords(password);

/*Initialisethelogincontext*/

/*settouseKrb5LoginModule.*/

/*实际用户认证由com.sun.security.auth.module.Krb5LoginModulele类处理*/

lc=newLoginContext(ActiveDirAuthHandler.class.getName(),ch);

/*Performtheauthentication*/

lc.login();

result=true;

}catch(LoginExceptionle){

}

returnresult;

}

3.1.5EAS用户认证登录类及相关配置

EAS用户认证采用了标准的JAAS(JAVA认证和授权服务:

JavaAuthenticationandAuthorizationService)的服务,JAAS的详细信息请参见附录1用户认证的LoginModule类可很方便的插拨或堆叠,其配置是通过服务端\server\properties目录下的login.config文件来实现的,login.config文件配置了EAS默认使用的LoginModule,通常情况下,该配置文件无须更改,该配置文件内容如下:

eas{

com.kingdee.eas.cp.eip.sso.EasMultiAuthLoginModulerequireddebug=true;

};

com.kingdee.eas.cp.eip.sso.web.auth.EASAuthHandler{

{

com.sun.security.auth.module.Krb5LoginModulerequiredclient=TRUEdebug=trueuseTicketCache=FALSE;

说明:

●eas为EASGUI客户端登录时所用LoginModule

●com.kingdee.eas.cp.eip.sso.web.auth.EASAuthHandler为EASportal登录时所用LoginModule(注:

实际上与eas的配置内容是相同的)

●com.kingdee.eas.cp.eip.sso.ad.ActiveDirAuthHandler则用于与微软AD域认证集成,即在AD认证模式(BaseAD)下,此配置才起作用;

3.2LDAP域认证方案的配置与实现

LDAP域认证方案可以通过配置实现EASGUI客户端和portal登录时用户在LDAP服务器上进行认证,若需先同步用户请参见3.5章节,其配置步骤如下:

3.2.1LDAP服务器连接参数配置

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

contextFactory=com.sun.jndi.ldap.LdapCtxFactory

ldapHost=192.168.16.2

ldapPort=389

authentication=simple

principal=username

credentials=password

参数说明:

●contextFactory:

LDAP连接默认工厂类,

如果服务器使用的是Sun的JDK则应配置为:

com.sun.jndi.ldap.LdapCtxFactory如果服务器使用的是IBM的JDK则应配置为:

com.ibm.jndi.ldap.LdapCtxFactory

●ldapHost:

LDAP目录服务器IP地址

●ldapPort:

LDAP目录服务器端口号,通常情况下缺省是389

●authentication:

LDAP连接认证模式,通常情况下配置为simple

●principal:

LDAP主体(身份标识),通常情况下配置为用户账号

●credentials:

LDAP主体的凭证(密码),通常情况下配置为用户密码

将实际采用的LDAP目录服务器IP地址和端口号配置到该文件中。

3.2.2配置LDAP域用户认证处理器

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

BaseLDAP<

com.kingdee.eas.cp.eip.sso.ldap.LdapAuthHandler<

BaseLDAPAuthentication<

3.3微软AD域认证方案的配置与实现

微软AD域认证方案可以通过配置实现EASGUI客户端和portal登录时用户在微软AD域服务器上进行认证,若需先同步用户请参见3.5章节,其配置步骤如下:

(注意:

由于AD域认证的实现需要使用SUNJDK中的com.sun.security.auth.module.Krb5LoginModule类,而IBMJDK中的该类为com.ibm.security.auth.module.Krb5LoginModule,IBMJDK的实现主要在login.conf文件配置上略有不同,推荐使用SUNJDK)

3.3.1AD域服务器连接参数配置

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

[libdefaults]

default_realm=KINGDEE.COM

default_tkt_enctypes=des3-cbc-sha1rc4-hmacdes-cbc-md5des-cbc-crc

default_tgs_enctypes=des3-cbc-sha1rc4-hmacdes-cbc-md5des-cbc-crc

permitted_enctypes=des3-cbc-sha1rc4-hmacdes-cbc-md5des-cbc-crc

default_checksum=rsa-md5

clockskew=360

[realms]

KINGDEE.COM={

kdc=192.168.16.2

[domain_realm]

=KINGDEE.COM

[logging]

default=FILE:

E:

/EAS4.1/apusic/logs/default.log

kdc=FILE:

/EAS4.1/apusic/logs/kdc.log

admin_server=FILE:

/EAS4.1/apusic/logs/kadmin.log

kdc_rotate={

period=1d

versions=10

●default_realm:

为AD域控制全限定域名(例如:

KINGDEE.COM),注意:

此参数值中的字母必须大写,如上配置参数所示。

●kdc:

为AD域服务器IP地址,注意:

该参数外层的参数必须同default_realm定义的域名相同,如上配置参数所示。

●domain_realm:

该段中定义了应用实际域名或主机名和AD域名的映射关系,其定义格式和规范如上配置参数所示,一般为:

.域名称(小写,最前面有个点)=域名称(大写)。

实际使用中,用户只需要配置上面红色字体标注的部分,将实际采用的AD域服务器的域名和IP地址配置到该文件中。

SUN或IBMJDK6.0+版本请在[libdefaults]段配置allow_weak_crypto=true,启用弱加密算法以便匹配WindowsAD域默认配置。

3.3.2配置EAS用户认证登录类

在服务端\server\properties目录下的login.config文件中加入以下配置参数:

com.sun.security.auth.module.Krb5LoginModulerequiredclient=TRU

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 职业教育 > 职高对口

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1