fix #1783 spnego 1.1-SNAPSHOT

This commit is contained in:
Shinsuke Sugaya 2018-07-26 12:15:59 +09:00
parent 9a3ab45f63
commit 1a0cc74bd6
4 changed files with 50 additions and 7 deletions

View file

@ -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>

View file

@ -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");

View file

@ -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;
}

View file

@ -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__