第二十一章 Caché 變量大全 $USERNAME 變量
包含當前進程的用戶名。
大綱
$USERNAME
描述
$USERNAME
包含當前進程的用戶名。可以採用以下兩種形式之一:
- 當前用戶的名稱;例如:
Mary
。如果不允許多個安全域,則返回此值。 - 當前用戶的名稱和系統地址;例如:
Mary@jupiter
。如果允許多個安全域,則返回此值。
要允許多個安全域,請轉到管理門戶,選擇系統管理、安全、系統安全、系統範圍安全參數。選中允許多個安全域複選框。對此設置的更改將應用於新調用的進程;更改它不會影響當前進程返回的值。
不能使用set
命令或new
命令修改此值。但是,新的$ROLES
還會堆疊當前的$username
值。
通常,$username
值是在連接時指定的用戶名。但是,如果允許未經驗證的訪問,則用戶終端或ODBC客戶端可以連接到Caché,而無需指定用戶名。在本例中,$username
包含字符串“UnnownUser”
。
使用JOB
命令創建進程時,它繼承與其父進程相同的$USERNAME
和$ROLES
值。
可以使用SQL CREATE USER
語句創建用戶名,使用SQL DROP USER
語句刪除用戶名。可以使用SQL ALTER USER
語句更改用戶密碼。通過使用SQL GRANT
語句或使用系統實用程序向用戶添加角色,可以爲用戶分配角色。您可以使用$ROLES
特殊變量訪問分配給當前進程的角色列表。可以使用SQL REVOKE
語句撤銷用戶的角色。
$USERNAME
在CachéSQL中用作USER、CURRENT_USER和SESSION_USER
的默認值。
可以通過調用$SYSTEM.Process.UserName()
方法返回當前進程或指定進程的用戶名。
示例
下面的示例返回當前進程的用戶名。
DHC-APP>WRITE $USERNAME
yx
下面的示例返回當前進程的域名。
DHC-APP>WRITE $PIECE($USERNAME,"@",2)