0

在工作中,有几个不同的网站,它们都访问网络上的网站(Intranet),例如:

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.52cookie,$_SESSION 很好)。

在从集中登录系统发送请求和响应方面应该如何实现?

我应该使用HTTP GET具有多个属性的 JSON 对象的请求和响应吗?例如

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

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

4

1 回答 1

1

在从集中登录系统发送请求和响应方面应该如何实现?

这完全取决于你。请记住,已经有许多系统是为非常相似的场景设计的。您的用例与可以通过kerberosradius甚至ldap(如果您有现有的 AD)服务器提供的东西非常相似。如果您周围已经有任何人,那么查询它们可能比编写自己的解决方案更容易。

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

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

听起来很典型。

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

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

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

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

于 2013-08-03T23:26:38.457 回答