返回列表 发帖

[V11功能解说] 如何强制验证身份以便检查当前会话的用户凭据?

你或许会有某项业务需求,需要在采取某些举动之前检查当前会话的用户凭据。

这项需求存在于特定行业(例如制药行业的CFR 21-11),以便在某些情况下强制验证身份(从而确保一些修改操作的安全)。

自V11版本起,开发了一个API,给你提供了选项可以实现这点。下面是一个运用ASYRFNC.ACHECKCONNECT的示例。

在我们开始看示例之前,你可以通过在在线搜索网站搜索“管理用户身份验证”来了解更多关于这个API的信息。



所以,想象一下你有一个需求,每次在客户功能中发生付款条件变更的时候,用户必须录入他们的Syracuse密码,重新验证自己的身份。下面,我将向你演示如何做到这点:
1.        打开功能:开发→脚本字典→屏幕→屏幕
2.        选择屏幕BPC3
3.        点击[字段]页签,找到“PTE(付款条件)”字段,并添加一项定制控制操作。



4.        “保存”“审核”
5.        打开功能:开发→脚本字典→脚本→脚本编辑器
6.        在[文件名称]字段中录入SPEBPC,并添加以下代码。



Subprog C_PTE(VALEUR)
Variable Char VALEUR()
Local Integer OK,ASTATUS
Local Char PASS
local Char MSG(200)
#Prompt user for Password
#This is a reusable program for prompting for a field
Call SAICAR(PASS,"Enter the signature password","Password","A",0,20,"",OK) From GESECRAN
If OK = 2
# this is the call to ASYRFNC.ACHECKCONNECT that checks to find out if the password entered is correct or not
ASTATUS=func ASYRFNC.ACHECKCONNECT(GACTX, PASS,MSG)
If ASTATUS>=[V]CST_AERROR
infbox("You are not allowed to make this change, Your password did not match")
# reverting payment term to the old value
VALEUR =[M:BPC3]PTE
AFFZO [M:BPC3]PTE
Endif
Endif
End

7.        “保存”,接着“编译”
8.        现在,打开功能:基础数据→商业伙伴→客户
9.        选择一个现有客户。
10.        点击[财务]页签。
11.        在[付款条件]字段中选择一个新的条件。
12.        在按Tab键一路向后移动过程中,你会看到弹出一个如下窗体,让用户重新录入自己的Syracuse密码。



13.        如果密码正确,那么就会通过新的付款条件,光标会移至下一个字段,但如果录入的密码不正确,则用户会看到以下报错,且付款条件会变为原来的付款条件。



结论:在发生某些操作行为时,你可以运用ASYRFNC.ACHECKCONNECT来重新验证用户密码。
附件: 您需要登录才可以下载或查看附件。没有帐号?申请用户

返回列表