返回列表 发帖

[V7功能解说] 如何创建耗用X3 Web Services的用户

在从其他像.net之类的平台调用X3 web services时,必须要有X3用户名和密码才能实现调用。如果将X3中的admin用户设为可调用web services,则密码默认为空。但是这意味着调用X3 web services的用户得是admin,且密码必须为空。就安全性而言,这可能会导致一些问题或顾虑。首先,你或许希望用admin以外的用户来调用web services。其次,你很可能不希望使用空密码。

如果你在X3中已经创建好了一个新用户,将其设定为了一个web services用户,并尝试用这个新建的用户及其密码组合来调用web services,那么你很可能会遭遇调用失败的情况。原因就在于web service是在账套层级调用的,而创建用户时定义的用户名和密码却并不是web services层级用来验证用户的用户名/密码组合。

创建用户

以下步骤说明了如何在X3中创建一个耗用web services的新用户。

1.        用你的常规做法在X3中创建一个用户。这需要前往功能:管理→用户→用户。




2.        在我的示例中,我创建了一个名为websvc的用户,其密码也是websvc。

  


3.        下一步,前往功能:参数设置→用户→用户,并将刚刚的用户创建为一个X3用户。




4.        在本示例中,我创建了一个WEB1用户,并将其附加至WEBSVC登录信息。请记住,必须勾选“Web service 连接”这个复选框才能使这个用户成为一个web services用户。




自外部应用程序耗用Web Service

乍一想,你可能认为你现在就可以用与登录X3相同的用户名和密码来从一个.net程序访问web services了。然而,如果你尝试使用websvc / websvc的用户名和密码组合去耗用X3 web services,你会发现身份验证失败。web services调用会返回一条消息,显示密码错误。



如果你在web services中将密码改为空密码,则web service将可以成功连接;但是,你很可能并不想用空密码。

解决方法

1.        返回X3会话中,确保你已经作为web services用户登录了(在本示例中即以websvc身份登录)。

2.        前往功能:工具→用户→密码更改



3.        系统将要求你录入“旧密码”,以及一个新密码。默认情况下,创建好一个用户之后,其对应的“旧密码”为空。所以,留空“旧密码”字段,并在“新密码”字段中录入一个新的值。在本示例中,我将新密码设为了“password”。更改这个密码并不会影响X3中使用的登录密码。

   

4.        现在,返回.net程序,然后用你上面新录入的密码(本例中也就是“password”)调用web service。此时你会发现web service的身份验证运作正常。


总结

当你试图从一个外部应用程序耗用X3 web services时,你会想要提供安全访问X3的方式。这样,就需要创建一个web services专用的用户,并提供一个安全密码用来耗用这些web services。上述信息给出了详细步骤,说明了如何成功创建一个有安全密码的用户来耗用web services。
附件: 您需要登录才可以下载或查看附件。没有帐号?申请用户

返回列表