金蝶EAS Webservice安全配置:防止多数据中心数据串通
需积分: 45 80 浏览量
更新于2024-09-08
收藏 18KB DOCX 举报
"本文将详细介绍如何设置金蝶EAS接口的安全模式,以防止多数据中心间的数据串通,并提供相应的步骤和代码示例。"
金蝶EAS(Enterprise Application Suite)是一款全面的企业级管理软件,其Web Service接口允许外部系统与EAS进行数据交互。然而,如果没有正确设置安全模式,可能会导致不同数据中心之间的数据不隔离,即数据串通问题。为了解决这个问题,我们需要启用金蝶EAS的Webservice安全模式。
首先,我们需要修改`webservice.properties`文件。这个文件位于`eas\Server\eas\server\profiles\server1\config`目录下。在此文件末尾添加以下两行配置:
1. `isRemoteLocate=false`:这行设置用于关闭远程定位功能,防止不同数据中心的数据互相访问。
2. `isRomoteUserCheck=true`:开启远程用户检查,增加对调用者身份的验证,进一步确保安全性。
接下来,我们需要修改`web.war`文件,它位于`eas\Server\eas\server\deploy\eas.ear`目录下。由于`web.war`是一个JAR文件,我们需要先将其解压,找到`WEB-INF`目录下的`server-config.wsdd`文件进行编辑。在这个文件中,我们需要进行以下操作:
1. 在`<handler name="Authenticate" type="java:org.apache.axis.handlers.SimpleAuthenticationHandler"/>`这一行的下方,添加一行`<handler name="LoginHandler" type="java:com.kingdee.bos.webservice.LoginHandler"/>`,引入登录处理类。
2. 在`<transport name="http">`配置节的`<requestFlow>`标签内,增加一行`<handler type="LoginHandler"/>`,这样每次HTTP请求都会通过登录处理器进行验证。
完成修改后,需要重新打包`web.war`文件,并将其替换原文件。确保备份原始的`web.war`文件,然后执行以下命令:
- 备份:`cp web.war web.war.bak`
- 解压:`mkdir web.war01 && cp web.war ./web.war01`
- 修改:进入解压后的目录,使用`jar xvf web.war`解压,然后编辑`server-config.wsdd`文件
- 打包:编辑完成后,使用`jar cvf web.war *`重新打包,然后赋予可执行权限:`chmod +x web.war`
- 替换:`cp web.war ../`
最后,需要重启金蝶应用服务。登录到金蝶应用服务器的控制台,根据环境(测试或生产)选择重启应用服务器或集群。
启用安全模式后,调用EAS Webservice的客户端需要传递登录返回的session。以下是一个Java调用示例:
```java
EASLoginProxy proxy = null;
WSContext context = null;
try {
// 登录
proxy = new EASLoginProxyServiceLocator().getEASLogin();
context = proxy.login("username", "password");
// 使用context进行其他业务操作
} catch (Exception e) {
// 处理异常
}
```
这个示例中,`username`和`password`是金蝶系统的用户名和密码。登录成功后,返回的`WSContext`对象可以用于后续的接口调用,确保每个请求都带有有效的身份验证信息。
总结起来,设置金蝶EAS Webservice安全模式主要是通过修改配置文件和`web.war`来实现的,包括调整远程定位和用户检查的设置,以及增强HTTP请求的验证机制。同时,客户端在调用时需要携带登录返回的session,以确保安全的交互。
811 浏览量
230 浏览量
146 浏览量
307 浏览量
655 浏览量
1934 浏览量
387 浏览量