如何区分使用基本身份验证的用户
How to differentiate between users using Basic Authentication
问题
我有一个使用基本身份验证并具有多个不同登录名的网站。我想要一种方法,使用 javascript,当前登录用户的用户名。
我检查了 cookie,但那里没有存储基本的身份验证凭据。
堆栈
我正在使用配置有 .htaccess
和 .htpasswd
文件的 Apache,因此无法使用后端告诉前端哪个用户已登录。
目标
我要解决的问题非常简单,我希望我的网站显示当前登录用户的用户名。
并非没有一点点 PHP。 Javascript 在客户端执行,正如您已经发现的那样,用户名不是从服务器发送的,因此您需要在服务器端发送该用户 ID。
方法如下:
由于您的页面是在服务器上生成的,它使用一小段 PHP 将用户名添加到您的 JavaScript 中,这就是 JavaScript 在客户端上的方式用它做它需要的。
请注意,在不同用户再次请求该页面之前,用户 ID 不会更改,因此它不需要在客户端中间会话中是动态的。
PHP 在用户登录时在服务器端生成页面,并将其包含在页面的 JavaScript 代码中。在 JavaScript 中你想要那个名字的地方,你可以使用 <?php echo $_SERVER['REMOTE_USER']; ?>
把它放在那里。在具有 html 和 JavaScript 代码的服务器上,文件扩展名需要是 .php。
问题 我有一个使用基本身份验证并具有多个不同登录名的网站。我想要一种方法,使用 javascript,当前登录用户的用户名。
我检查了 cookie,但那里没有存储基本的身份验证凭据。
堆栈
我正在使用配置有 .htaccess
和 .htpasswd
文件的 Apache,因此无法使用后端告诉前端哪个用户已登录。
目标 我要解决的问题非常简单,我希望我的网站显示当前登录用户的用户名。
并非没有一点点 PHP。 Javascript 在客户端执行,正如您已经发现的那样,用户名不是从服务器发送的,因此您需要在服务器端发送该用户 ID。
方法如下:
由于您的页面是在服务器上生成的,它使用一小段 PHP 将用户名添加到您的 JavaScript 中,这就是 JavaScript 在客户端上的方式用它做它需要的。
请注意,在不同用户再次请求该页面之前,用户 ID 不会更改,因此它不需要在客户端中间会话中是动态的。
PHP 在用户登录时在服务器端生成页面,并将其包含在页面的 JavaScript 代码中。在 JavaScript 中你想要那个名字的地方,你可以使用 <?php echo $_SERVER['REMOTE_USER']; ?>
把它放在那里。在具有 html 和 JavaScript 代码的服务器上,文件扩展名需要是 .php。