查找通过基本身份验证(Apache)验证的当前用户

RHE*_*min 5 linux perl cgi apache-2.2

当您通过基本身份验证页面登录时,您身份验证的用户名是否存储在任何地方(在服务器或客户端计算机上),可能在环境变量中?

背景:我有一个用于电子邮件服务器的通用 Web 管理页面,我想知道谁在做什么。当用户通过基本身份验证成功登录时,我希望能够识别他们并记录他们的操作。所以每次提交请求时,我都可以写入日志文件。基本格式是:

$username ran a $function against $useraccount
Run Code Online (Sandbox Code Playgroud)

因此,如果用户更改了某人的权限,例如:

Admin-Bob ran a permission change against User-Scott
Run Code Online (Sandbox Code Playgroud)

因此,如果发生错误,我可以轻松地在日志文件中追溯导致原因的操作。我尝试检查%ENV哈希无济于事,有什么想法吗?

我真的不想进入类似 PHP 的会话,因为这意味着取消我的基本身份验证,这已经给了我很好的控制程度。如果我必须用会话编码一些东西,我需要实现一个系统来在最大尝试后阻止用户等等,我真的不想编码。我认为这更适合于 serverfault,因为它更适合 Apache 而不是编程语言。会议可以用多种语言完成。

Sht*_*ééf 8

用户名将在环境变量中可用REMOTE_USER

如果您开始使用摘要甚至 kerberos 身份验证,这几乎适用于所有身份验证方法。