第二十一章 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)
网友评论