Thanks Ryan, That helps. On Tuesday, 3 May 2016 11:38:14 UTC-4, Ryan Kennedy wrote: > > Throwing an AuthenticationException isn't a means of signaling that the > authentication attempt was invalid due to user input. It's an indication > that authentication failed because of some internal issue (i.e. can't > connect to the user database): > > > https://github.com/dropwizard/dropwizard/blob/3d746d21c6e6656a59b26c2a7e92f19e1bb2e9b1/dropwizard-auth/src/main/java/io/dropwizard/auth/AuthFilter.java#L167 > > Ryan > > On Tue, May 3, 2016 at 7:10 AM Zee <[email protected] <javascript:>> > wrote: > >> Hello, >> I have a simple dropwizard app. Right now when a user tries to login with >> invalid credentials, it just keeps popping up the login box again (in a >> browser client). >> I want to be able to throw an exception, return a JSON letting the user >> know that authentication failed. >> >> I tried the following: >> @Override >> public Optional<SimplePrincipal> authenticate(BasicCredentials >> credentials) throws AuthenticationException { >> DPSLookup dps = new DPSLookup(credentials.getUsername(), credentials. >> getPassword(), ldap); >> if (!dps.dpsLookup()) { >> throw new InvalidCredentialException("Access Denied"); >> } >> else { >> SimplePrincipal user = new SimplePrincipal(credentials. >> getUsername()); >> return Optional.of(user); >> } >> } >> >> >> >> And then I have an InvalidCredentialException class: >> public class InvalidCredentialException extends AuthenticationException { >> >> public InvalidCredentialException(String message) { >> super(message); >> } >> >> } >> >> however I get a 500 Response error now with the following exception: >> WARN [2016-05-03 14:09:49,982] >> io.dropwizard.auth.basic.BasicCredentialAuthFilter: Error authenticating >> credentials >> ! bns.gwtd.dpm.auth.InvalidCredentialException: Access Denied >> ! at >> bns.gwtd.dpm.auth.SimpleAuthenticator.authenticate(SimpleAuthenticator.java:50) >> >> ~[gwtd-auth-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] >> ! at >> bns.gwtd.dpm.auth.SimpleAuthenticator.authenticate(SimpleAuthenticator.java:24) >> >> ~[gwtd-auth-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] >> ! at >> io.dropwizard.auth.basic.BasicCredentialAuthFilter.filter(BasicCredentialAuthFilter.java:47) >> >> ~[gwtd-auth-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] >> ! at >> org.glassfish.jersey.server.ContainerFilteringStage.apply(ContainerFilteringStage.java:132) >> >> [gwtd-auth-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] >> ! at >> org.glassfish.jersey.server.ContainerFilteringStage.apply(ContainerFilteringStage.java:68) >> >> [gwtd-auth-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] >> ! at >> org.glassfish.jersey.process.internal.Stages.process(Stages.java:197) >> [gwtd-auth-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] >> ! at >> org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java:318) >> [gwtd-auth-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] >> ! at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271) >> [gwtd-auth-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] >> ! at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267) >> [gwtd-auth-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] >> ! at org.glassfish.jersey.internal.Errors.process(Errors.java:315) >> [gwtd-auth-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] >> ! at org.glassfish.jersey.internal.Errors.process(Errors.java:297) >> [gwtd-auth-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] >> ! at org.glassfish.jersey.internal.Errors.process(Errors.java:267) >> [gwtd-auth-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] >> ! at >> org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:317) >> >> [gwtd-auth-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] >> ! at >> org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:305) >> [gwtd-auth-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] >> ! at >> org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:1154) >> >> [gwtd-auth-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] >> ! at >> org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:471) >> [gwtd-auth-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] >> ! at >> org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:425) >> [gwtd-auth-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] >> ! at >> org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:383) >> >> [gwtd-auth-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] >> ! at >> org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:336) >> >> [gwtd-auth-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] >> ! at >> org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:223) >> >> [gwtd-auth-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] >> ! at >> io.dropwizard.jetty.NonblockingServletHolder.handle(NonblockingServletHolder.java:49) >> >> [gwtd-auth-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] >> ! at >> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1669) >> >> [gwtd-auth-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] >> ! at >> io.dropwizard.servlets.ThreadNameFilter.doFilter(ThreadNameFilter.java:29) >> [gwtd-auth-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] >> ! at >> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) >> >> [gwtd-auth-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] >> ! at >> io.dropwizard.jersey.filter.AllowedMethodsFilter.handle(AllowedMethodsFilter.java:43) >> >> [gwtd-auth-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] >> ! at >> io.dropwizard.jersey.filter.AllowedMethodsFilter.doFilter(AllowedMethodsFilter.java:38) >> >> [gwtd-auth-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] >> ! at >> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) >> >> [gwtd-auth-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] >> ! at >> org.eclipse.jetty.servlets.CrossOriginFilter.handle(CrossOriginFilter.java:256) >> >> [gwtd-auth-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] >> ! at >> org.eclipse.jetty.servlets.CrossOriginFilter.doFilter(CrossOriginFilter.java:219) >> >> [gwtd-auth-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] >> ! at >> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) >> >> [gwtd-auth-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] >> ! at >> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585) >> [gwtd-auth-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] >> ! at >> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127) >> >> [gwtd-auth-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] >> ! at >> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515) >> [gwtd-auth-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] >> ! at >> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061) >> >> [gwtd-auth-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] >> ! at >> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) >> >> [gwtd-auth-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] >> ! at >> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97) >> >> [gwtd-auth-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] >> ! at >> com.codahale.metrics.jetty9.InstrumentedHandler.handle(InstrumentedHandler.java:240) >> >> [gwtd-auth-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] >> ! at io.dropwizard.jetty.RoutingHandler.handle(RoutingHandler.java:51) >> [gwtd-auth-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] >> ! at >> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97) >> >> [gwtd-auth-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] >> ! at >> org.eclipse.jetty.server.handler.RequestLogHandler.handle(RequestLogHandler.java:95) >> >> [gwtd-auth-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] >> ! at >> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97) >> >> [gwtd-auth-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] >> ! at >> org.eclipse.jetty.server.handler.StatisticsHandler.handle(StatisticsHandler.java:159) >> >> [gwtd-auth-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] >> ! at >> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97) >> >> [gwtd-auth-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] >> ! at org.eclipse.jetty.server.Server.handle(Server.java:499) >> [gwtd-auth-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] >> ! at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:310) >> [gwtd-auth-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] >> ! at >> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257) >> [gwtd-auth-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] >> ! at >> org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540) >> [gwtd-auth-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] >> ! at >> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635) >> >> [gwtd-auth-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] >> ! at >> org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555) >> >> [gwtd-auth-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] >> ! at java.lang.Thread.run(Thread.java:745) [na:1.8.0_91] >> ERROR [2016-05-03 14:09:49,983] >> io.dropwizard.jersey.errors.LoggingExceptionMapper: Error handling a >> request: 122bf997f092f693 >> ! javax.ws.rs.InternalServerErrorException: HTTP 500 Internal Server Error >> ! at >> io.dropwizard.auth.basic.BasicCredentialAuthFilter.filter(BasicCredentialAuthFilter.java:74) >> >> ~[gwtd-auth-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] >> ! at >> org.glassfish.jersey.server.ContainerFilteringStage.apply(ContainerFilteringStage.java:132) >> >> ~[gwtd-auth-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] >> ! at >> org.glassfish.jersey.server.ContainerFilteringStage.apply(ContainerFilteringStage.java:68) >> >> ~[gwtd-auth-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] >> ! at >> org.glassfish.jersey.process.internal.Stages.process(Stages.java:197) >> ~[gwtd-auth-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] >> ! at >> org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java:318) >> ~[gwtd-auth-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] >> ! at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271) >> [gwtd-auth-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] >> ! at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267) >> [gwtd-auth-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] >> ! at org.glassfish.jersey.internal.Errors.process(Errors.java:315) >> [gwtd-auth-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] >> ! at org.glassfish.jersey.internal.Errors.process(Errors.java:297) >> [gwtd-auth-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] >> ! at org.glassfish.jersey.internal.Errors.process(Errors.java:267) >> [gwtd-auth-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] >> ! at >> org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:317) >> >> [gwtd-auth-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] >> ! at >> org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:305) >> [gwtd-auth-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] >> ! at >> org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:1154) >> >> [gwtd-auth-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] >> ! at >> org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:471) >> [gwtd-auth-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] >> ! at >> org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:425) >> [gwtd-auth-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] >> ! at >> org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:383) >> >> [gwtd-auth-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] >> ! at >> org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:336) >> >> [gwtd-auth-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] >> ! at >> org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:223) >> >> [gwtd-auth-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] >> ! at >> io.dropwizard.jetty.NonblockingServletHolder.handle(NonblockingServletHolder.java:49) >> >> [gwtd-auth-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] >> ! at >> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1669) >> >> [gwtd-auth-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] >> ! at >> io.dropwizard.servlets.ThreadNameFilter.doFilter(ThreadNameFilter.java:29) >> [gwtd-auth-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] >> ! at >> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) >> >> [gwtd-auth-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] >> ! at >> io.dropwizard.jersey.filter.AllowedMethodsFilter.handle(AllowedMethodsFilter.java:43) >> >> [gwtd-auth-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] >> ! at >> io.dropwizard.jersey.filter.AllowedMethodsFilter.doFilter(AllowedMethodsFilter.java:38) >> >> [gwtd-auth-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] >> ! at >> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) >> >> [gwtd-auth-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] >> ! at >> org.eclipse.jetty.servlets.CrossOriginFilter.handle(CrossOriginFilter.java:256) >> >> [gwtd-auth-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] >> ! at >> org.eclipse.jetty.servlets.CrossOriginFilter.doFilter(CrossOriginFilter.java:219) >> >> [gwtd-auth-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] >> ! at >> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) >> >> [gwtd-auth-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] >> ! at >> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585) >> [gwtd-auth-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] >> ! at >> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127) >> >> [gwtd-auth-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] >> ! at >> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515) >> [gwtd-auth-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] >> ! at >> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061) >> >> [gwtd-auth-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] >> ! at >> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) >> >> [gwtd-auth-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] >> ! at >> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97) >> >> [gwtd-auth-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] >> ! at >> com.codahale.metrics.jetty9.InstrumentedHandler.handle(InstrumentedHandler.java:240) >> >> [gwtd-auth-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] >> ! at io.dropwizard.jetty.RoutingHandler.handle(RoutingHandler.java:51) >> [gwtd-auth-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] >> ! at >> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97) >> >> [gwtd-auth-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] >> ! at >> org.eclipse.jetty.server.handler.RequestLogHandler.handle(RequestLogHandler.java:95) >> >> [gwtd-auth-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] >> ! at >> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97) >> >> [gwtd-auth-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] >> ! at >> org.eclipse.jetty.server.handler.StatisticsHandler.handle(StatisticsHandler.java:159) >> >> [gwtd-auth-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] >> ! at >> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97) >> >> [gwtd-auth-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] >> ! at org.eclipse.jetty.server.Server.handle(Server.java:499) >> [gwtd-auth-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] >> ! at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:310) >> [gwtd-auth-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] >> ! at >> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257) >> [gwtd-auth-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] >> ! at >> org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540) >> [gwtd-auth-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] >> ! at >> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635) >> >> [gwtd-auth-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] >> ! at >> org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555) >> >> [gwtd-auth-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] >> ! at java.lang.Thread.run(Thread.java:745) [na:1.8.0_91] >> >> >> -- >> You received this message because you are subscribed to the Google Groups >> "dropwizard-user" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected] <javascript:>. >> For more options, visit https://groups.google.com/d/optout. >> >
-- You received this message because you are subscribed to the Google Groups "dropwizard-user" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
