在工作中,有几个不同的网站,他们都可以访问网络上的网站(内联网),例如:
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.50
或http://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
如果用户成功登录并且用户刷新页面 - 是否应通过集中登录系统重新检查登录或会话?
答案 0 :(得分:1)
如何在集中登录系统中发送请求和响应时如何实现?
这完全取决于你。请记住,已经有很多系统专为非常类似的场景而设计。您的使用案例与通过kerberos,radius甚至ldap(如果您有现有AD)服务器提供的内容非常相似。如果您已经拥有任何一个,那么查询它们可能更容易,而不是编写自己的解决方案。
如果你想要自己的,JSON响应和其他任何一样好。只需确保验证响应是否有效。
我应该将HTTP GET用于请求并回复具有多个属性的JSON对象吗?
听起来很典型。
如果用户成功登录并且用户刷新页面 - 是否应通过集中登录系统重新检查登录或会话?
这取决于您的后端技术以及您希望如何快速使票证无效。在更改密码或禁用帐户几个小时后,您是否可以在没有身份验证的情况下访问?您是否可以推送请求以使身份验证令牌/会话文件从Auth控制器无效到应用服务器?您从所有应用程序中获得的每秒请求数是多少,您是否可以在一个地方处理所有生成的身份验证请求?
回答其中的一些问题,您应该了解如何处理重新检查/令牌缓存/失效。
此外,如果您可以/想要将某些身份验证处理推送到客户端,请查看oauth等协议。