为不在 ActiveDirectory 域中的计算机应用单点登录

Apply single sign-on for computers not in ActiveDirectory domain

我有一个 Windows AD 服务器, 和一台运行 Apache 和 Subversion 的 Linux 服务器, 还有一个 Windows 服务器运行使用 Windows 身份验证的 .net Web 应用程序。

我已经配置了如何将 Kerberos 或 GS​​SAPI 应用到使用 AD 凭据验证颠覆用户,并且使用加入域的计算机的用户在访问 .net web 时不会提示 window 询问用户和密码应用程序和 svn.

但是这些没有加入域的用户总是提示window两次询问web app和svn的用户和密码,我想共享两个应用程序的登录凭据,我该如何申请?

谢谢。

krb5.conf:

[logging]
 default = FILE:/var/log/krb5libs.log
 kdc = FILE:/var/log/krb5kdc.log
 admin_server = FILE:/var/log/kadmind.log

[libdefaults]
 default_realm = SCRCUTEST.COM
 forwardable = true
 dns_lookup_realm = false
 dns_lookup_kdc = true
 rdns = false

[realms]
 SCRCUTEST.COM = {
  kdc = astest.scrcutest.com
  admin_server = astest.scrcutest.com
 }


[domain_realm]
 .scrcutest.com = SCRCUTEST.COM
  scrcutest.com = SCRCUTEST.COM

resolv.conf:

domain scrcutest.com
nameserver 10.16.0.37

http.conf:

   <Location /svn>
    DAV svn
    SVNParentPath /data/bb_bak/PV/access

    SVNListParentPath On
    SVNAutoVersioning On

    AuthType Kerberos
    AuthName "Input AD account"
    KrbAuthRealms SCRCUTEST.COM 
    KrbServiceName HTTP
    Krb5Keytab /etc/httpd/conf/kerberos.keytab
    KrbMethodNegotiate On
    KrbVerifyKDC Off
    KrbMethodK5Passwd Off
    KrbSaveCredentials on 
    Require valid-user
   </Location>

如果不加入域或应使用中央授权服务器,则 SSO 不适用