簡體   English   中英

如何在Tomcat Server.xml中配置自定義JNDIRealm(為LDAP添加了讀取超時)

[英]How to configure Custom JNDIRealm (added read timeout for LDAP) in Tomcat Server.xml

我們使用JNDIRealm(Tomcat 6)進行LDAP身份驗證。 可能是由於LDAP脆弱,一個線程在JNDIRealm.authenticate方法上鎖定並導致線程轉儲。 為了解決這個問題,添加了CustomJNDIRealm類,該類擴展了JNDIRealm,如下所示

 package com.gop.it.msoft;

 import org.apache.catalina.realm.JNDIRealm;

 public class CustomJNDIRealm extends JNDIRealm {
 protected String readTimeout;
    @Override
    protected Hashtable<String,String> getDirectoryContextEnvironment() {
      Hashtable<String,String> env = new Hashtable<String,String>();
        if(readTimeout != null) env.put("com.sun.jndi.ldap.read.timeout", readTimeout);
    return env;
    }
 }

現在,如何在Server.xml中進行配置? 通過執行以下操作,我得到ClassNotFoundException。 請幫忙。

<Realm allRolesMode="authOnly" className="com.gop.it.msoft.CustomJNDIRealm" connectionURL="ldaps://ldap.gop.com:636" referrals="follow" userPattern="uid={0},ou=People,o=gop.com" readTimeout="5000" userSubtree="false"/>

謝謝一大堆

在加載Webapp之前,必須實現Realm實現。 因此,它必須在Tomcat的lib目錄中的JAR文件中。 將其放入Webapp自己的WEB-INF / lib中無法正常工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM