0

私のWebアプリケーションはKerberos認証を使用しています。NegotiateIdentityAsserterとLDAP認証プロバイダーを設定しました。sAMAccountNameがユーザールックアップのユーザーである場合、すべてが正常に機能します。残念ながら、tagret環境では、この属性は一意ではありません。UPN(ユーザープリンシパル名)でユーザーを識別する必要があります。

それを達成する方法はありますか?

私の設定は

Weblogic 10.3.5 Java 1.6


login.config:

myrealm { 
weblogic.security.auth.login.UsernamePasswordLoginModule required debug=true;
}; 

com.sun.security.jgss.initiate {
     com.sun.security.auth.module.Krb5LoginModule required
     principal="HTTP/ceprwlvyv.dsmsp.local@DSMSP.LOCAL"
     refreshKrb5Config=true
     useKeyTab=true
     keyTab="c:/ccaapl/security/ceprwlvyv_ktpass.keytab"
     storeKey=true
     debug=true;
};

com.sun.security.jgss.accept {
     com.sun.security.auth.module.Krb5LoginModule required
     principal="HTTP/ceprwlvyv.dsmsp.local@DSMSP.LOCAL"
     refreshKrb5Config=true
     useKeyTab=true
     keyTab="c:/ccaapl/security/ceprwlvyv_ktpass.keytab"
     storeKey=true
     debug=true;

};

com.sun.security.jgss.krb5.accept {
     com.sun.security.auth.module.Krb5LoginModule required
     principal="HTTP/ceprwlvyv.dsmsp.local@DSMSP.LOCAL"
     refreshKrb5Config=true
     useKeyTab=true
     keyTab="c:/ccaapl/security/ceprwlvyv_ktpass.keytab"
     storeKey=true
     debug=true;

};

krb5.ini:

[libdefaults]
default_realm = DSMSP.LOCAL
kdc_timesync = 1
ccache_type = 4
ticket_lifetime = 600
clockskew = 1200
dns_lookup_kdc = true

[realms]
DSMSP.LOCAL = {
kdc = DSDC.dsmsp.local
}

[appdefaults]
autologin = true
forward = true
forwardable = true
encrypt = true

前もって感謝します!

Petr

4

1 に答える 1

0

あなたの発言は誤解を招くものです。Kerberos 認証と LDAP 認証を混在させるのはなぜですか? Kerberos 認証のみが必要です。ログインに成功すると、ユーザーの UPN が表示されます。AD のフィールド userPrincipalName で検索します。これが私のやり方です。あなたの質問は十分に正確ではありません。認証とユーザー検索を混同しています。

于 2011-12-27T09:16:55.907 に答える