Heim  >  Artikel  >  Backend-Entwicklung  >  用PHP怎么实现只允许管理员登录,而且当前的管理员账户如果已登录就不允许其他人登录

用PHP怎么实现只允许管理员登录,而且当前的管理员账户如果已登录就不允许其他人登录

WBOY
WBOYOriginal
2016-10-22 00:14:121091Durchsuche

用PHP怎么实现只允许管理员登录,而且当前的管理员账户如果已登录就不允许其他人登录!!求教

回复内容:

用PHP怎么实现只允许管理员登录,而且当前的管理员账户如果已登录就不允许其他人登录!!求教

登录成功,立即在数据表插入一条记录,有登录时间,回话信息失效时间等信息,第二个人登录的时候查库验证

两个int字段 第一个记录登陆的时间戳 第二个记录登出的时间戳 登陆的时候还要判断时间 如果当前时间大于登出时间戳 说明现在没有人登陆 如果之前登陆的人没有退出 那么判断会话里面的key过期了没 如果过期了 之前的用户如果再要操作肯定要重新登陆了 此时另一个人也可以登陆的 不知道我是否表述清楚

你用一个online字段来记录当前用户状态

只允许管理员管理,这个很简单,你只设置一个账号信息,或者直接在代码里写死就可以了。

前的管理员账户如果已登录就不允许其他人登录

这个应该是想说:同一个账号同一时间只能在一个地方登录吧?

看了楼上两位给的方案:一是设置有效期,但这个不能解决在另一处“同时”登录的问题。

二是记录登出时间,关键问题是怎样记录?

如果要保证实时的话,需要用到socket
如果不那么严格的话,可以用定时访问。

redis 储存 userId:sessionKey 的键值对,每次请求检查当前用户 ID 对应的 sessionId 是否和当前会话一致

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn