本文介绍了如何在Tomcat中获取JNDIRealm以使用Kerberos身份验证?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试使用Kerberos进行身份验证(authentication ="GSSAPI")来运行tomcat JNDIRealm.

I am trying to run a tomcat JNDIRealm using using Kerberos for authentication (authentication="GSSAPI").

但是,我得到了:


SEVERE: Catalina.start:
LifecycleException:  Exception opening directory server connection:
javax.naming.AuthenticationException: GSSAPI
[Root exception is javax.security.sasl.SaslException: GSS initiate failed
 [Caused by GSSException: No valid credentials provided
 (Mechanism level: Attempt to obtain new INITIATE credentials failed! (null))
]]

我在server.xml中有这个文件:

I have this in server.xml:


 <Realm className="org.apache.catalina.realm.JNDIRealm"
                        authentication="GSSAPI"
                        connectionName="CN=XXX User,OU=XXXGenericAccounts,\
                                                   DC=xxx,DC=com"
                        connectionPassword="blah"
                        connectionURL="ldap://blah.xxx.com:389"
                        alternateURL="ldap://blah.xxx.com:389"
                        roleBase="OU=XXXGroups,DC=xxx,DC=com"
                        roleName="cn"
                        roleSearch="member={0}"
                        roleSubtree="true"
                        userBase="OU=XXXUsers,DC=xxx,DC=com"
                        userSearch="sAMAccountName={0}"
                        userSubtree="true"/>

知道我在这里缺少什么吗?

any idea what I am missing here?

推荐答案

您将需要通过系统属性进行传递:

You will need to pass via system properties:

  • krb5.conf/ini的路径
  • login.conf的路径具有默认的Sun名称,并配置了如何获取凭据的Krb5Module.

这篇关于如何在Tomcat中获取JNDIRealm以使用Kerberos身份验证?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

06-10 06:46