集中登录系统

时间:2013-08-03 22:49:33

标签: php authentication login

在工作中,有几个不同的网站,他们都可以访问网络上的网站(内联网),例如:

http://192.168.1.50 (Sales Panel)
http://192.168.1.52 (Other Panel)
http://192.168.1.53 (And different project)

我必须在每个网站上创建一个新帐户,使用它会有点痛苦。

然后我想为什么不创建一个集中登录系统,以便每个网站都可以从集中登录系统创建和检查登录帐户。

例如,UserA能够登录http://192.168.1.50http://192.168.1.53但不能登录http://192.168.1.52(不需要Cookie,$ _SESSION就可以了)。

如何在集中登录系统中发送请求和响应时如何实现?

我应该使用HTTP GET作为请求并回复具有多个属性的JSON对象吗?例如

connect_status - "SUCCESS" - check was successful, "FAIL" - check was unsuccessful)
connect_id - UserId
connect_username - the username

如果用户成功登录并且用户刷新页面 - 是否应通过集中登录系统重新检查登录或会话?

1 个答案:

答案 0 :(得分:1)

  

如何在集中登录系统中发送请求和响应时如何实现?

这完全取决于你。请记住,已经有很多系统专为非常类似的场景而设计。您的使用案例与通过kerberosradius甚至ldap(如果您有现有AD)服务器提供的内容非常相似。如果您已经拥有任何一个,那么查询它们可能更容易,而不是编写自己的解决方案。

如果你想要自己的,JSON响应和其他任何一样好。只需确保验证响应是否有效。

  

我应该将HTTP GET用于请求并回复具有多个属性的JSON对象吗?

听起来很典型。

  

如果用户成功登录并且用户刷新页面 - 是否应通过集中登录系统重新检查登录或会话?

这取决于您的后端技术以及您希望如何快速使票证无效。在更改密码或禁用帐户几个小时后,您是否可以在没有身份验证的情况下访问?您是否可以推送请求以使身份验证令牌/会话文件从Auth控制器无效到应用服务器?您从所有应用程序中获得的每秒请求数是多少,您是否可以在一个地方处理所有生成的身份验证请求?

回答其中的一些问题,您应该了解如何处理重新检查/令牌缓存/失效。

此外,如果您可以/想要将某些身份验证处理推送到客户端,请查看oauth等协议。