0

我正在尝试使用 Apache 在 Linux 上安装 SSO,但我不明白为什么 Linux 系统具有 ntdomain,甚至不明白 ntdomain 到底是什么。

http://wiki.otterhub.org/index.php?title=Implementing_Single_Sign_On_on_Linux_with_Apache#Installing_Modules

<Location /otrs>
  PerlAuthenHandler Apache2::AuthenNTLM
  AuthType ntlm,basic
  AuthName Basic
  require valid-user
  PerlAddVar ntdomain "DOMAIN dc bdc"
  PerlSetVar defaultdomain DOMAIN
  PerlSetVar splitdomainprefix 1
</Location>

$Self->{'Customer::AuthModule'} = 'Kernel::System::CustomerAuth::HTTPBasicAuth';
$Self->{CustomerPanelLoginURL} = 'http://otrs-server/otrs/no_sso_login_possible.html';
$Self->{CustomerPanelLogoutURL} = 'http://otrs-server/otrs/logout.html';

为什么会有ntdomain?我不知道在 Linux 环境中那是什么。我不知道如何从文档中做到这一点。

除此之外,它似乎与 github 网站上的文档不同。有简单的英文解释,还是我只是愚蠢或什么?

http://otrs.github.io/doc/manual/admin/3.1/en/html/auth-backends.html#customer-auth-backend-httpbasic

4

1 回答 1

0

这取决于你想要做什么......

Otterhub-Wiki 中的示例侧重于使用 NTLM 为 Windows 域中的 Windows 客户端提供 SSO:用户使用其域凭据登录其工作站,并将这些凭据传递给 OTRS/Apache。

Admin-Manual 中的示例(使用 Kernel::System::CustomerAuth::HTTPBasicAuth)是一种更通用的方法 - 但从技术上讲与 NTLM-stuff 几乎相同。

这里的基本思想是,您已经在其他地方为您的用户进行了某种身份验证,然后设置了Authorization-header - 就像 HTTP-Basic-Auth 一样。

OTRS 然后使用Authorization-header 提供的用户名来查询本地用户数据库。

tl;dr:在第一个示例中,您Authorization通过从 NTLM 获取相关信息来设置 -header,在第二个示例中,您必须找到自己的方式并自己设置适当的标头。

于 2014-06-28T01:28:13.217 回答