我的web应用程序使用Kerberos身份验证。我设置了NegotiateIdentityAsserter和LDAP身份验证提供程序。如果sAMAccountName是用户查找的用户,那么一切都很好。不幸的是,在塔格勒特环境中,这个属性并不是唯一的。我需要用他的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;
};瑞典克朗5.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提前感谢!
佩尔
发布于 2011-12-27 09:16:55
你的陈述有误导性。为什么要混合Kerberos auth和LDAP auth?你只需要Kerberos auth。在成功登录之后,您将获得用户的UPN。在您的广告中搜索该字段: userPrincipalName。我就是这样做的。你的问题不够精确。您将身份验证和用户查找混为一谈。
https://stackoverflow.com/questions/8587575
复制相似问题