當前位置: 首頁>>代碼示例>>Java>>正文


Java SecurityContext.getUserPrincipal方法代碼示例

本文整理匯總了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();
}
 
開發者ID:eclipse,項目名稱:microprofile-jwt-auth,代碼行數:8,代碼來源:RolesEndpoint.java

示例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();
}
 
開發者ID:eclipse,項目名稱:microprofile-jwt-auth,代碼行數:8,代碼來源:RolesEndpoint.java

示例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;
}
 
開發者ID:eclipse,項目名稱:microprofile-jwt-auth,代碼行數:36,代碼來源:RolesEndpoint.java

示例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();

}
 
開發者ID:holon-platform,項目名稱:holon-examples,代碼行數:19,代碼來源:JwtIssuerEndpoint.java

示例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;
}
 
開發者ID:eclipse,項目名稱:microprofile-jwt-auth,代碼行數:9,代碼來源:RolesEndpoint.java

示例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;
}
 
開發者ID:eclipse,項目名稱:microprofile-jwt-auth,代碼行數:14,代碼來源:RolesEndpoint.java

示例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();
}
 
開發者ID:eclipse,項目名稱:microprofile-jwt-auth,代碼行數:13,代碼來源:RolesEndpoint.java

示例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;
}
 
開發者ID:trajano,項目名稱:app-ms,代碼行數:16,代碼來源:SecureHelloResource.java

示例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;
}
 
開發者ID:SAP,項目名稱:cf-mta-deploy-service,代碼行數:11,代碼來源:OperationsApiServiceImpl.java

示例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();
}
 
開發者ID:holon-platform,項目名稱:holon-jaxrs,代碼行數:9,代碼來源:TestAuthzStd.java

示例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();
        }
    }
}
 
開發者ID:minijax,項目名稱:minijax,代碼行數:35,代碼來源:MinijaxApplication.java

示例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(","));
}
 
開發者ID:holon-platform,項目名稱:holon-examples,代碼行數:12,代碼來源:ProtectedEndpoint.java

示例13: secureForAll

import javax.ws.rs.core.SecurityContext; //導入方法依賴的package包/類
@GET
@Path("/forall")
public User secureForAll(@Context SecurityContext context) {
    return (User) context.getUserPrincipal();
}
 
開發者ID:maugern,項目名稱:jersey-skeleton,代碼行數:6,代碼來源:SecureResource.java

示例14: secureByAnnotation

import javax.ws.rs.core.SecurityContext; //導入方法依賴的package包/類
@GET
@Path("/byannotation")
@RolesAllowed({"user"})
public User secureByAnnotation(@Context SecurityContext context) {
    return (User) context.getUserPrincipal();
}
 
開發者ID:maugern,項目名稱:jersey-skeleton,代碼行數:7,代碼來源:SecureResource.java


注:本文中的javax.ws.rs.core.SecurityContext.getUserPrincipal方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。