赛捷软件论坛's Archiver

lynn.yu 发表于 2017-2-13 15:14

[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]

Powered by Discuz! Archiver 7.2  © 2001-2009 Comsenz Inc.