$uid_set

在 NGINX 中,$uid_set 变量包含为当前请求上下文设置的用户 ID。 — NGINX Core (HTTP)

$uid_set NGINX Core (HTTP)

说明

该 $uid_set 变量在 NGINX Core 中定义,用于反映为当前请求设置的用户 ID。该变量在基于用户身份处理特定访问控制和安全配置时尤其相关。用户 ID 通常通过认证机制建立,例如用户成功登录或发送包含身份凭证的请求。 在使用 $uid_set 时,各种模块通常会在内部对其进行处理,这些模块可能从请求头或会话令牌中提取用户凭证。如果请求发生重定向或后端应用修改了认证上下文,该变量的值可能会在事务中途发生变化。$uid_set 的典型值可能是用户 ID 的数字表示,或者在未找到已认证用户时为一个空字符串。

配置示例

server {
    listen       80;
    server_name  example.com;

    location / {
        if ($uid_set) {
            return 200 'User ID is set';
        }
        return 403 'Access denied';
    }
}

子系统

http

可缓存

上下文

http, server, location, if

确保身份验证模块已正确配置以设置用户 ID;否则,$uid_set 可能仍然为空。

在错误的上下文中使用 $uid_set(例如,在请求处理之外)可能导致意外结果或错误。