gpt4 book ai didi

sas - 存储过程的用户,使用哪个变量?

转载 作者:行者123 更新时间:2023-12-02 04:26:05 30 4
gpt4 key购买 nike

当我查看 SAS 日志时,有 4 个不同的变量可以获取用户:

 _METAPERSON
_METAUSER
_SECUREUSERNAME
_USERNAME

当我检查日志时,执行进程时所有 4 个变量都具有相同的值。因此,我构建了一个进程来检查某些特定用户的 _Metauser,这样只有我想要的用户才能执行某些操作。但是我的一个同事遇到了一个问题,变量中存储的不是他调用进程时的用户名,而是用户名@Context。在其他 3 个变量中,只存储了他的用户名,所以也许我可以更改为其中之一。我无法使用 Metauser,因为对于某些人来说,用户名后面可能有 @Context。

不,我有问题,要使用哪个变量?这4个变量有什么区别?使用哪个,以确保我只(并且始终)获得纯用户名,无论用户从何处以及哪个程序/版本调用该进程?

  • 目前我使用 Sas 9.3 并通过网络服务运行该过程
  • 我现在切换到 SECUREUSERNAME,但我不确定这是否会给其他用户带来问题,目前只有 3 个用户使用此过程,但很快会有更多用户
  • 我们的授权概念基于元数据,所以我想也许我应该使用 _Metaperson...

最佳答案

_SECUREUSERNAME 宏变量是在应用程序服务器执行存储过程时创建的。 _SECUREUSERNAME 的值包含客户端身份,如果 _USERNAME 尚未包含值,则该值将被写入 _USERNAME 宏变量中。在大多数情况下,_SECUREUSERNAME 的值将与 _USERNAME 相同

_USERNAME 指定从 Web 客户端身份验证获取的用户名值。

_METAPERSON 指定与 _METAUSER 登录变量关联的人员元数据名称。该变量的值可能是未知的。客户端无法修改此变量。

_METAUSER 指定用于连接到元数据服务器的登录用户名。客户端无法修改此变量。

您的问题没有简单的答案,因为这取决于您的设置。您的用户是否必须使用 Metaserver 登录?您的代码是否始终使用 WebService 进行访问?用户ID,它们是什么,它们是来自AD的ID吗?是否启用单点登录 (SSO)? SAS 上的 ID 是如何配置的?人们是否使用可信用户进行连接?

问候,瓦西里吉

关于sas - 存储过程的用户,使用哪个变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31724933/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com