diff options
author | Jan Bartel | 2012-11-05 03:58:53 +0000 |
---|---|---|
committer | Jan Bartel | 2012-11-05 03:58:53 +0000 |
commit | 69cf9285c61e6210ecfd018c177ca4d7ec6143dd (patch) | |
tree | 88082ef1971685b0faea32d01b308ef0b34146f9 /jetty-security/src/main/java/org/eclipse/jetty/security | |
parent | 0c84eefdcc0388d227777c63e26a4dbe436cbb8c (diff) | |
download | org.eclipse.jetty.project-69cf9285c61e6210ecfd018c177ca4d7ec6143dd.tar.gz org.eclipse.jetty.project-69cf9285c61e6210ecfd018c177ca4d7ec6143dd.tar.xz org.eclipse.jetty.project-69cf9285c61e6210ecfd018c177ca4d7ec6143dd.zip |
JETTY-1549 jetty-maven-plugin fails to reload the LoginService properly
Diffstat (limited to 'jetty-security/src/main/java/org/eclipse/jetty/security')
-rw-r--r-- | jetty-security/src/main/java/org/eclipse/jetty/security/SecurityHandler.java | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/jetty-security/src/main/java/org/eclipse/jetty/security/SecurityHandler.java b/jetty-security/src/main/java/org/eclipse/jetty/security/SecurityHandler.java index 6be460e0b8..c0fdaccf31 100644 --- a/jetty-security/src/main/java/org/eclipse/jetty/security/SecurityHandler.java +++ b/jetty-security/src/main/java/org/eclipse/jetty/security/SecurityHandler.java @@ -74,6 +74,8 @@ public abstract class SecurityHandler extends HandlerWrapper implements Authenti private LoginService _loginService; private IdentityService _identityService; private boolean _renewSession=true; + private boolean _discoveredIdentityService = false; + private boolean _discoveredLoginService = false; /* ------------------------------------------------------------ */ protected SecurityHandler() @@ -338,7 +340,10 @@ public abstract class SecurityHandler extends HandlerWrapper implements Authenti // many different ways these can be constructed and injected. if (_loginService==null) + { setLoginService(findLoginService()); + _discoveredLoginService = true; + } if (_identityService==null) { @@ -350,6 +355,7 @@ public abstract class SecurityHandler extends HandlerWrapper implements Authenti if (_identityService==null && _realmName!=null) setIdentityService(new DefaultIdentityService()); + _discoveredIdentityService = true; } if (_loginService!=null) @@ -375,6 +381,26 @@ public abstract class SecurityHandler extends HandlerWrapper implements Authenti super.doStart(); } + @Override + protected void doStop() throws Exception + { + //if we discovered the services (rather than had them explicitly configured), remove them. + if (_discoveredIdentityService) + { + removeBean(_identityService); + _identityService = null; + + } + + if (_discoveredLoginService) + { + removeBean(_loginService); + _loginService = null; + } + + super.doStop(); + } + /* ------------------------------------------------------------ */ protected boolean checkSecurity(Request request) { |