Intranet的单一login?

我正尝试为我的内联网设置单一login。 我在网上find了一些解决scheme,但是我不确定它们是否适用于我的特殊情况。

我在同一台服务器上有几个子域名。 一级用户应该能够访问所有子域,另一级用户只能访问一些子域。

login到一个子域应该使它,所以你不必login到任何其他人。

任何人都可以指向正确的方向吗? 我在Ubuntu上使用Apache。

我并不是100%确定的解决scheme,但我相当肯定你可以运行一个LDAP服务器,并通过mod_ldap使用Apache进行身份validation。 你可能想要把这篇文章的范围看看是不是你想要的:

http://www.linux.com/archive/feature/120050

从那里你应该能够在LDAP中创build用户组,并configurationApache以反映不同文件夹的组访问权限。

公平的警告,我从来没有这样做过,所以它可能不是你想要的。

另外,它看起来像Apache现在有自己的目录服务器项目,我只使用过Fedora-DS现在389-DS,应该是非常相似,虽然:

http://directory.apache.org/

你将如何validation你的用户? PHP / MySQL的? 如果是这样,你可以只使用cookie

这是我提出的( 严格的Intranet – 同一个网域的子域的情况):

在主authentication代码之后的身份提供者上调用一个方法:

  • 将有关login用户的encryption数据发送给用户
  • 接收并validation签名logincookie的响应
  • 返回cookie的名称和值

方法返回后 – 设置子域的cookie。

关于身份消费者服务:

  • 接收该方法的数据
  • 解密它
  • 如果用户不存在,请创build他/她的帐户
  • 确定会话cookie
  • 签署cookie
  • 将cookie名称,值和签名发回给身份提供者

这比OAuth,LDAP等设置更容易,但只能与子域一起工作,因为cookie不能跨域限制。