Parcourir la source

fix #1783 spnego 1.1-SNAPSHOT

Shinsuke Sugaya il y a 7 ans
Parent
commit
1a0cc74bd6

+ 1 - 1
pom.xml

@@ -1277,7 +1277,7 @@
 		<dependency>
 			<groupId>org.codelibs</groupId>
 			<artifactId>spnego</artifactId>
-			<version>1.0</version>
+			<version>1.1-SNAPSHOT</version>
 		</dependency>
 		<dependency>
 			<groupId>commons-codec</groupId>

+ 31 - 4
src/main/java/org/codelibs/fess/mylasta/direction/FessConfig.java

@@ -1372,7 +1372,7 @@ public interface FessConfig extends FessEnv, org.codelibs.fess.mylasta.direction
     /** The key of the configuration. e.g. none */
     String SSO_TYPE = "sso.type";
 
-    /** The key of the configuration. e.g. 0 */
+    /** The key of the configuration. e.g.  */
     String SPNEGO_LOGGER_LEVEL = "spnego.logger.level";
 
     /** The key of the configuration. e.g. krb5.conf */
@@ -1408,6 +1408,9 @@ public interface FessConfig extends FessEnv, org.codelibs.fess.mylasta.direction
     /** The key of the configuration. e.g. false */
     String SPNEGO_ALLOW_DELEGATION = "spnego.allow.delegation";
 
+    /** The key of the configuration. e.g.  */
+    String SPNEGO_EXCLUDE_DIRS = "spnego.exclude.dirs";
+
     /** The key of the configuration. e.g. __CLIENT_ID__ */
     String OIC_CLIENT_ID = "oic.client.id";
 
@@ -5819,14 +5822,14 @@ public interface FessConfig extends FessEnv, org.codelibs.fess.mylasta.direction
 
     /**
      * Get the value for the key 'spnego.logger.level'. <br>
-     * The value is, e.g. 0 <br>
+     * The value is, e.g.  <br>
      * @return The value of found property. (NotNull: if not found, exception but basically no way)
      */
     String getSpnegoLoggerLevel();
 
     /**
      * Get the value for the key 'spnego.logger.level' as {@link Integer}. <br>
-     * The value is, e.g. 0 <br>
+     * The value is, e.g.  <br>
      * @return The value of found property. (NotNull: if not found, exception but basically no way)
      * @throws NumberFormatException When the property is not integer.
      */
@@ -5944,6 +5947,21 @@ public interface FessConfig extends FessEnv, org.codelibs.fess.mylasta.direction
      */
     boolean isSpnegoAllowDelegation();
 
+    /**
+     * Get the value for the key 'spnego.exclude.dirs'. <br>
+     * The value is, e.g.  <br>
+     * @return The value of found property. (NotNull: if not found, exception but basically no way)
+     */
+    String getSpnegoExcludeDirs();
+
+    /**
+     * Get the value for the key 'spnego.exclude.dirs' as {@link Integer}. <br>
+     * The value is, e.g.  <br>
+     * @return The value of found property. (NotNull: if not found, exception but basically no way)
+     * @throws NumberFormatException When the property is not integer.
+     */
+    Integer getSpnegoExcludeDirsAsInteger();
+
     /**
      * Get the value for the key 'oic.client.id'. <br>
      * The value is, e.g. __CLIENT_ID__ <br>
@@ -8393,6 +8411,14 @@ public interface FessConfig extends FessEnv, org.codelibs.fess.mylasta.direction
             return is(FessConfig.SPNEGO_ALLOW_DELEGATION);
         }
 
+        public String getSpnegoExcludeDirs() {
+            return get(FessConfig.SPNEGO_EXCLUDE_DIRS);
+        }
+
+        public Integer getSpnegoExcludeDirsAsInteger() {
+            return getAsInteger(FessConfig.SPNEGO_EXCLUDE_DIRS);
+        }
+
         public String getOicClientId() {
             return get(FessConfig.OIC_CLIENT_ID);
         }
@@ -8851,7 +8877,7 @@ public interface FessConfig extends FessEnv, org.codelibs.fess.mylasta.direction
             defaultMap.put(FessConfig.LDAP_ATTR_GID_NUMBER, "gidNumber");
             defaultMap.put(FessConfig.LDAP_ATTR_HOME_DIRECTORY, "homeDirectory");
             defaultMap.put(FessConfig.SSO_TYPE, "none");
-            defaultMap.put(FessConfig.SPNEGO_LOGGER_LEVEL, "0");
+            defaultMap.put(FessConfig.SPNEGO_LOGGER_LEVEL, "");
             defaultMap.put(FessConfig.SPNEGO_KRB5_CONF, "krb5.conf");
             defaultMap.put(FessConfig.SPNEGO_LOGIN_CONF, "auth_login.conf");
             defaultMap.put(FessConfig.SPNEGO_PREAUTH_USERNAME, "username");
@@ -8863,6 +8889,7 @@ public interface FessConfig extends FessEnv, org.codelibs.fess.mylasta.direction
             defaultMap.put(FessConfig.SPNEGO_PROMPT_NTLM, "true");
             defaultMap.put(FessConfig.SPNEGO_ALLOW_LOCALHOST, "true");
             defaultMap.put(FessConfig.SPNEGO_ALLOW_DELEGATION, "false");
+            defaultMap.put(FessConfig.SPNEGO_EXCLUDE_DIRS, "");
             defaultMap.put(FessConfig.OIC_CLIENT_ID, "__CLIENT_ID__");
             defaultMap.put(FessConfig.OIC_CLIENT_SECRET, "__CLIENT_SECRET__");
             defaultMap.put(FessConfig.OIC_AUTH_SERVER_URL, "https://accounts.google.com/o/oauth2/auth");

+ 16 - 1
src/main/java/org/codelibs/fess/sso/spnego/SpnegoAuthenticator.java

@@ -24,6 +24,7 @@ import javax.servlet.ServletContext;
 import javax.servlet.http.HttpServletResponse;
 
 import org.codelibs.core.io.ResourceUtil;
+import org.codelibs.core.lang.StringUtil;
 import org.codelibs.fess.app.web.base.login.ActionResponseCredential;
 import org.codelibs.fess.app.web.base.login.SpnegoCredential;
 import org.codelibs.fess.exception.FessSystemException;
@@ -126,7 +127,19 @@ public class SpnegoAuthenticator implements SsoAuthenticator {
         @Override
         public String getInitParameter(final String name) {
             if (SpnegoHttpFilter.Constants.LOGGER_LEVEL.equals(name)) {
-                return fessConfig.getSpnegoLoggerLevel();
+                if (StringUtil.isNotBlank(fessConfig.getSpnegoLoggerLevel())) {
+                    return fessConfig.getSpnegoLoggerLevel();
+                } else if (logger.isDebugEnabled()) {
+                    return "3";
+                } else if (logger.isInfoEnabled()) {
+                    return "5";
+                } else if (logger.isWarnEnabled()) {
+                    return "6";
+                } else if (logger.isErrorEnabled()) {
+                    return "7";
+                } else {
+                    return "0";
+                }
             } else if (SpnegoHttpFilter.Constants.LOGIN_CONF.equals(name)) {
                 return getResourcePath(fessConfig.getSpnegoLoginConf());
             } else if (SpnegoHttpFilter.Constants.KRB5_CONF.equals(name)) {
@@ -149,6 +162,8 @@ public class SpnegoAuthenticator implements SsoAuthenticator {
                 return fessConfig.getSpnegoAllowLocalhost();
             } else if (SpnegoHttpFilter.Constants.ALLOW_DELEGATION.equals(name)) {
                 return fessConfig.getSpnegoAllowDelegation();
+            } else if (SpnegoHttpFilter.Constants.EXCLUDE_DIRS.equals(name)) {
+                return fessConfig.getSpnegoExcludeDirs();
             }
             return null;
         }

+ 2 - 1
src/main/resources/fess_config.properties

@@ -673,7 +673,7 @@ ldap.attr.homeDirectory=homeDirectory
 #                                                      SSO
 #                                                     ------
 sso.type=none
-spnego.logger.level=0
+spnego.logger.level=
 spnego.krb5.conf=krb5.conf
 spnego.login.conf=auth_login.conf
 spnego.preauth.username=username
@@ -685,6 +685,7 @@ spnego.allow.unsecure.basic=true
 spnego.prompt.ntlm=true
 spnego.allow.localhost=true
 spnego.allow.delegation=false
+spnego.exclude.dirs=
 
 oic.client.id=__CLIENT_ID__
 oic.client.secret=__CLIENT_SECRET__