apache - apache tomcat 7 角色名中的无效字符

标签 apache authentication tomcat tomcat7

我正在尝试在 Apache tomcat 的角色名称中使用完全可分辨的名称。角色名称将包含 "="chars

例如:

    <tomcat-users>
            <role rolename="cn=tomcat,dc=com"/>
            <user username="tomcat" password="tomcat" roles="cn=tomcat,dc=com"/>
    </tomcat-users>

当我尝试启动 tomcat 时,我得到:

SEVERE: Exception creating UserDatabase MBeans for UserDatabase javax.management.MalformedObjectNameException: Invalid character '=' in value part of property at javax.management.ObjectName.construct(Unknown Source) at javax.management.ObjectName.(Unknown Source) at org.apache.catalina.mbeans.MBeanUtils.createObjectName(MBeanUtils.java:870) at org.apache.catalina.mbeans.MBeanUtils.createMBean(MBeanUtils.java:379) at org.apache.catalina.mbeans.GlobalResourcesLifecycleListener.createMBeans(GlobalResourcesLifecycleListener.java:194) at org.apache.catalina.mbeans.GlobalResourcesLifecycleListener.createMBeans(GlobalResourcesLifecycleListener.java:150) at org.apache.catalina.mbeans.GlobalResourcesLifecycleListener.createMBeans(GlobalResourcesLifecycleListener.java:112) at org.apache.catalina.mbeans.GlobalResourcesLifecycleListener.lifecycleEvent(GlobalResourcesLifecycleListener.java:84) at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119) at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90) at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:401) at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:346) at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:725) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at org.apache.catalina.startup.Catalina.start(Catalina.java:675) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:322) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:451)

最佳答案

如果要配置 Tomcat 以使用 LDAP 身份验证,请使用 JNDIRealm:

http://tomcat.apache.org/tomcat-7.0-doc/realm-howto.html#JNDIRealm

关于apache - apache tomcat 7 角色名中的无效字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11831038/

相关文章:

tomcat - 包含星号的声明性安全角色名称无法工作

java - 如何将随机查询参数添加到操作的成功响应中

php - 无需身份验证即可识别唯一用户

rest - Sentry api 身份验证问题

authentication - jwt上的私有(private)和公共(public) claim 有什么区别

angular - 404 : Deploy Angular Project on Tomcat?

java - ucanaccess 驱动程序是否处理多个并发 java 应用程序?

linux - 使用 Git 自动部署

python - 名称重复以前的 WSGI 守护进程定义

authentication - 使用JWT-以用户的电子邮件作为主题对用户进行身份验证是否可以?