金蝶EAS - V7.5 - 单点登录实施指南(3)

2019-01-26 14:58

金蝶EAS_V7.5_单点登录实施指南

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

BaseDB BaseDB

com.kingdee.eas.cp.eip.sso.EasDefaultAuthHandler Base Eas user table authentication,is Eas default Authentication

BaseDB session

节点及参数说明:

?

authPattern节点:表示某种认证处理器,包括:name、displayName、authHandler和description四个属性;

?

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

? ? ? ?

displayName:认证处理器显示名称;

authHandler:认证处理器实现类的全路径类名; description:认证处理器的描述信息。

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

?

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

?

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

?

session:EAS允许用户根据工作场所,选择不同的认证处理器;如:外网可使用EAS传统认证、内网则使用AD认证(即域用户认证)

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

http://portalServer:port/easportal/autoLogin.jsp?authPattern=BaseADWithAutoLogin

第11页,总53页

金蝶EAS_V7.5_单点登录实施指南

然后,加入新的认证处理器 (即: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也支持二次开发对用户认证处理器进行扩展,以实现其它的认证方案。其实现步骤如下:

?

实现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; }

接口说明:

?

public String getEasUserNumber(Context ctx, String externalUserNumber)

第12页,总53页

金蝶EAS_V7.5_单点登录实施指南

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

?

public boolean isVerifyEasUserPwd()

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

?

public boolean authenticate(UserContextCallback userCtxCallback, String userNumber, String password)

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

?

将新开发的用户认证处理器部署到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用户认证的

第13页,总53页

金蝶EAS_V7.5_单点登录实施指南

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; };

说明:

? ?

eas为EAS GUI客户端登录时所用LoginModule

com.kingdee.eas.cp.eip.sso.web.auth.EASAuthHandler 为 EAS portal登录时所用LoginModule (注:实际上与eas的配置内容是相同的)

?

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

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

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

3.2.1 LDAP服务器连接参数配置

在服务端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连接默认工厂类,

第14页,总53页

金蝶EAS_V7.5_单点登录实施指南

如果服务器使用的是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

BaseLDAP

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

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

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

(注意:由于AD域认证的实现需要使用SUN JDK 中的

com.sun.security.auth.module.Krb5LoginModule类,而IBM JDK中的该类为com.ibm.security.auth.module.Krb5LoginModule,IBM JDK的实现主要在login.conf文件配置上略有不同,推荐使用SUN JDK)

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

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

第15页,总53页


金蝶EAS - V7.5 - 单点登录实施指南(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:关于机关中层干部轮岗交流和部分岗位竞争上岗的实施方案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: