linux - 我的意思是用户 ID 不能同时在两台不同的机器上进行身份验证。我怎样才能控制这个?我正在将 SQUID 与 Apache 服务器平台一起使用。?

标签 linux operating-system centos

我的意思是用户 ID 不能同时在两台不同的计算机上进行身份验证。我怎样才能控制这个?我正在 Apache 平台上使用 SQUID。?

最佳答案

如果用户数据库表(假设它称为 UserTable)仅位于一台计算机上,则在该表中添加一个名为“CurrentMachine”的字段,并为该字段指定默认值“”(空字符串)。

当用户 ID 为“Tom”的用户成功登录到名为“ServerA”的计算机时,发送以下查询:

UPDATE UserTable SET CurrentMachine='ServerA' WHERE UserID='Tom';

每当用户注销或他/她的 session 过期(使用 session 结束事件)时发送此查询

UPDATE UserTable SET CurrentMachine='' WHERE UserID='Tom';

为了测试用户是否未登录到多台计算机,请在尝试登录时使用此查询:

从 UserTable WHERE UserID='Tom' 中选择 CurrentMachine

如果返回的值为“”(空字符串),则让他们登录并运行上面的第一个查询,以便他们在注销或 session 过期之前无法在其他任何地方登录。如果返回的值是另一台机器的名称,则不要让他们登录。

注意:为了清楚起见,我使用了文本 ID。 SQUID 是一样的,只是字符串更长。

关于linux - 我的意思是用户 ID 不能同时在两台不同的机器上进行身份验证。我怎样才能控制这个?我正在将 SQUID 与 Apache 服务器平台一起使用。?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28827640/

相关文章:

linux - Linux内核编程中如何判断一个文件是否是 ".."文件?

linux - Derby 数据库 : how to start network server remotely

c - 如何跟踪 C 程序堆区域中的内存?

运行 CentOS7 的 Virtualmin 上的 php ldap 扩展

linux - 如何从 CentOS 6.5 获取最新的 cmake 版本

linux - grep 在表达式中不使用 0

compiler-errors - “' errno ' undeclared”编译Linux内核时

javascript - 从一个地方在操作系统上安装的所有浏览器中运行 JavaScript 脚本

mysql - 在 Centos 上第一次运行 Mysql 时访问被拒绝

linux - 当您登录到标准用户然后在 ssh 到 linux 服务器上 su 到其他用户时,如何在 bat 文件中切换用户?