dropwizard-auth/src/test/java/io/dropwizard/auth/AuthResource.java
package io.dropwizard.auth;
import javax.annotation.security.DenyAll;
import javax.annotation.security.PermitAll;
import javax.annotation.security.RolesAllowed;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import java.security.Principal;
import java.util.Optional;
@Path("/test/")
@Produces(MediaType.TEXT_PLAIN)
public class AuthResource {
@RolesAllowed({"ADMIN"})
@GET
@Path("admin")
public String show(@Auth Principal principal) {
return "'" + principal.getName() + "' has admin privileges";
}
@PermitAll
@GET
@Path("profile")
public String showForEveryUser(@Auth Principal principal) {
return "'" + principal.getName() + "' has user privileges";
}
@PermitAll
@GET
@Path("optional")
public String checkOptionalAuth(@Auth Optional<Principal> principalOpt) {
return "principal was " + (principalOpt.isPresent() ? "" : "not ") + "present";
}
@GET
@Path("implicit-permitall")
public String implicitPermitAllAuthorization(@Auth Principal principal) {
return "'" + principal.getName() + "' has user privileges";
}
@GET
@Path("noauth")
public String hello() {
return "hello";
}
@DenyAll
@GET
@Path("denied")
public String denied() {
return "denied";
}
}