[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层级用来验证用户的用户名/密码组合。
[b]创建用户[/b]
以下步骤说明了如何在X3中创建一个耗用web services的新用户。
1. 用你的常规做法在X3中创建一个用户。这需要前往功能:管理→用户→用户。
[attach]3294[/attach]
2. 在我的示例中,我创建了一个名为websvc的用户,其密码也是websvc。
[attach]3295[/attach]
3. 下一步,前往功能:参数设置→用户→用户,并将刚刚的用户创建为一个X3用户。
[attach]3296[/attach]
4. 在本示例中,我创建了一个WEB1用户,并将其附加至WEBSVC登录信息。请记住,必须勾选“Web service 连接”这个复选框才能使这个用户成为一个web services用户。
[attach]3297[/attach]
自外部应用程序耗用Web Service
乍一想,你可能认为你现在就可以用与登录X3相同的用户名和密码来从一个.net程序访问web services了。然而,如果你尝试使用websvc / websvc的用户名和密码组合去耗用X3 web services,你会发现身份验证失败。web services调用会返回一条消息,显示密码错误。
[attach]3298[/attach]
如果你在web services中将密码改为空密码,则web service将可以成功连接;但是,你很可能并不想用空密码。
[b]解决方法[/b]
1. 返回X3会话中,确保你已经作为web services用户登录了(在本示例中即以websvc身份登录)。
2. 前往功能:工具→用户→密码更改
[attach]3299[/attach]
3. 系统将要求你录入“旧密码”,以及一个新密码。默认情况下,创建好一个用户之后,其对应的“旧密码”为空。所以,留空“旧密码”字段,并在“新密码”字段中录入一个新的值。在本示例中,我将新密码设为了“password”。更改这个密码并不会影响X3中使用的登录密码。
[attach]3300[/attach]
4. 现在,返回.net程序,然后用你上面新录入的密码(本例中也就是“password”)调用web service。此时你会发现web service的身份验证运作正常。
[b]总结[/b]
当你试图从一个外部应用程序耗用X3 web services时,你会想要提供安全访问X3的方式。这样,就需要创建一个web services专用的用户,并提供一个安全密码用来耗用这些web services。上述信息给出了详细步骤,说明了如何成功创建一个有安全密码的用户来耗用web services。
页:
[1]