本文整理匯總了Java中javax.ws.rs.core.SecurityContext.getUserPrincipal方法的典型用法代碼示例。如果您正苦於以下問題:Java SecurityContext.getUserPrincipal方法的具體用法?Java SecurityContext.getUserPrincipal怎麽用?Java SecurityContext.getUserPrincipal使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類javax.ws.rs.core.SecurityContext
的用法示例。
在下文中一共展示了SecurityContext.getUserPrincipal方法的14個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: echoInput
import javax.ws.rs.core.SecurityContext; //導入方法依賴的package包/類
@GET
@Path("/echo")
@RolesAllowed("Echoer")
public String echoInput(@Context SecurityContext sec, @QueryParam("input") String input) {
Principal user = sec.getUserPrincipal();
return input + ", user="+user.getName();
}
示例2: echoNeedsToken2Role
import javax.ws.rs.core.SecurityContext; //導入方法依賴的package包/類
@GET
@Path("/echoNeedsToken2Role")
@RolesAllowed("Token2Role")
public String echoNeedsToken2Role(@Context SecurityContext sec, @QueryParam("input") String input) {
Principal user = sec.getUserPrincipal();
return input + ", user="+user.getName();
}
示例3: checkIsUserInRole
import javax.ws.rs.core.SecurityContext; //導入方法依賴的package包/類
/**
* This endpoint requires a Tester role, and also validates that the caller has the role Echoer by calling
* {@linkplain SecurityContext#isUserInRole(String)}.
*
* @return principal name or FORBIDDEN error
*/
@GET
@Path("/checkIsUserInRole")
@RolesAllowed("Tester")
public Response checkIsUserInRole(@Context SecurityContext sec) {
Principal user = sec.getUserPrincipal();
Response response;
if(!sec.isUserInRole("Echoer")) {
response = Response.status(new Response.StatusType() {
@Override
public int getStatusCode() {
return Response.Status.FORBIDDEN.getStatusCode();
}
@Override
public Response.Status.Family getFamily() {
return Response.Status.FORBIDDEN.getFamily();
}
@Override
public String getReasonPhrase() {
return "SecurityContext.isUserInRole(Echoer) was false";
}
}).build();
}
else {
response = Response.ok(user.getName(), MediaType.TEXT_PLAIN).build();
}
return response;
}
示例4: issue
import javax.ws.rs.core.SecurityContext; //導入方法依賴的package包/類
@GET
@Path("/issue")
@Produces(MediaType.TEXT_PLAIN)
public Response issue(@Context SecurityContext securityContext) {
// get Authentication
Authentication authc = (Authentication) securityContext.getUserPrincipal();
// configuration
JwtConfiguration configuration = ResourceUtils.lookupResource(getClass(), JwtConfiguration.class, providers)
.orElseThrow(() -> new InternalServerErrorException("JWT configuration not available"));
// build JWT
String jwt = JwtTokenBuilder.buildJwtToken(configuration, authc, UUID.randomUUID().toString());
// ok
return Response.ok(jwt, MediaType.TEXT_PLAIN).build();
}
示例5: echoInput2
import javax.ws.rs.core.SecurityContext; //導入方法依賴的package包/類
@GET
@Path("/echo2")
@RolesAllowed("NoSuchUser")
public String echoInput2(@Context SecurityContext sec, @QueryParam("input") String input) {
Principal user = sec.getUserPrincipal();
String name = user != null ? user.getName() : "<null>";
return input + ", user="+name;
}
示例6: getPrincipalClass
import javax.ws.rs.core.SecurityContext; //導入方法依賴的package包/類
/**
* Validate that the SecurityContext#getUserPrincipal is a JsonWebToken
* @param sec
* @return
*/
@GET
@Path("/getPrincipalClass")
@RolesAllowed("Tester")
public String getPrincipalClass(@Context SecurityContext sec) {
Principal user = sec.getUserPrincipal();
boolean isJsonWebToken = user instanceof JsonWebToken;
return "isJsonWebToken:"+isJsonWebToken;
}
示例7: needsGroup1Mapping
import javax.ws.rs.core.SecurityContext; //導入方法依賴的package包/類
/**
* This endpoint requires a role that is mapped to the group1 role
* @return principal name
*/
@GET
@Path("/needsGroup1Mapping")
@RolesAllowed("Group1MappedRole")
public String needsGroup1Mapping(@Context SecurityContext sec) {
Principal user = sec.getUserPrincipal();
sec.isUserInRole("group1");
return user.getName();
}
示例8: hello
import javax.ws.rs.core.SecurityContext; //導入方法依賴的package包/類
@ApiOperation(value = "Secure Hello")
@GET
@Produces(MediaType.APPLICATION_JSON)
public JsonObject hello(@QueryParam("name") final String name,
@Context final SecurityContext securityContext) {
final JsonObject json = new JsonObject();
if (name != null) {
json.add("name", new JsonPrimitive(name));
}
final JwtClaimsSetPrincipal userPrincipal = (JwtClaimsSetPrincipal) securityContext.getUserPrincipal();
json.add("principal", new JsonPrimitive(userPrincipal.getName()));
json.add("claims", jsonOps.toJsonElement(userPrincipal.getClaimsSet().toJson()));
return json;
}
示例9: getAuthenticatedUser
import javax.ws.rs.core.SecurityContext; //導入方法依賴的package包/類
protected String getAuthenticatedUser(SecurityContext securityContext) {
String user = null;
if (securityContext.getUserPrincipal() != null) {
user = securityContext.getUserPrincipal().getName();
} else {
throw new WebApplicationException(Status.UNAUTHORIZED);
}
LOGGER.debug("Authenticated user is: " + user);
return user;
}
示例10: info
import javax.ws.rs.core.SecurityContext; //導入方法依賴的package包/類
@PermitAll
@GET
@Path("name")
@Produces(MediaType.TEXT_PLAIN)
public String info(@Context SecurityContext securityContext) {
Authentication authc = (Authentication) securityContext.getUserPrincipal();
return authc.getName();
}
示例11: checkSecurity
import javax.ws.rs.core.SecurityContext; //導入方法依賴的package包/類
private void checkSecurity(final MinijaxRequestContext context) {
final Annotation a = context.getResourceMethod().getSecurityAnnotation();
if (a == null) {
return;
}
final Class<?> c = a.annotationType();
if (c == PermitAll.class) {
return;
}
if (c == DenyAll.class) {
throw new ForbiddenException();
}
if (c == RolesAllowed.class) {
final SecurityContext security = context.getSecurityContext();
if (security == null || security.getUserPrincipal() == null) {
throw new NotAuthorizedException(Response.status(Status.UNAUTHORIZED).build());
}
boolean found = false;
for (final String role : ((RolesAllowed) a).value()) {
if (security.isUserInRole(role)) {
found = true;
break;
}
}
if (!found) {
throw new ForbiddenException();
}
}
}
示例12: getAccountRoles
import javax.ws.rs.core.SecurityContext; //導入方法依賴的package包/類
@PermitAll
@GET
@Path("/roles")
@Produces(MediaType.TEXT_PLAIN)
public String getAccountRoles(@Context SecurityContext securityContext) {
// get Authentication
Authentication authc = (Authentication) securityContext.getUserPrincipal();
// get roles
return authc.getPermissions().stream().map(p -> p.getPermission().orElse(null))
.collect(Collectors.joining(","));
}
示例13: secureForAll
import javax.ws.rs.core.SecurityContext; //導入方法依賴的package包/類
@GET
@Path("/forall")
public User secureForAll(@Context SecurityContext context) {
return (User) context.getUserPrincipal();
}
示例14: secureByAnnotation
import javax.ws.rs.core.SecurityContext; //導入方法依賴的package包/類
@GET
@Path("/byannotation")
@RolesAllowed({"user"})
public User secureByAnnotation(@Context SecurityContext context) {
return (User) context.getUserPrincipal();
}