javax.ws.rs.container.ContainerRequestContext.setSecurityContext()方法的使用及代码示例

x33g5p2x  于2022-01-18 转载在 其他  
字(8.2k)|赞(0)|评价(0)|浏览(156)

本文整理了Java中javax.ws.rs.container.ContainerRequestContext.setSecurityContext()方法的一些代码示例,展示了ContainerRequestContext.setSecurityContext()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ContainerRequestContext.setSecurityContext()方法的具体详情如下:
包路径:javax.ws.rs.container.ContainerRequestContext
类名称:ContainerRequestContext
方法名:setSecurityContext

ContainerRequestContext.setSecurityContext介绍

[英]Set a new injectable security context information for the current request. The SecurityContext#getUserPrincipal() must return nullif the current request has not been authenticated.
[中]为当前请求设置新的可注入安全上下文信息。如果当前请求尚未通过身份验证,则SecurityContext#getUserPrincipal()必须返回null。

代码示例

代码示例来源:origin: jersey/jersey

@Override
  public void filter(final ContainerRequestContext requestContext) throws IOException {
    requestContext.setSecurityContext(new SecurityContext() {
      @Override
      public Principal getUserPrincipal() {
        return new Principal() {
          @Override
          public String getName() {
            return "Jersey";
          }
        };
      }

      @Override
      public boolean isUserInRole(final String role) {
        return "manager".equals(role);
      }

      @Override
      public boolean isSecure() {
        return false;
      }

      @Override
      public String getAuthenticationScheme() {
        return null;
      }
    });
  }
}

代码示例来源:origin: apache/shiro

@Override
  public void filter(ContainerRequestContext requestContext) throws IOException {
    requestContext.setSecurityContext(new ShiroSecurityContext(requestContext));

  }
}

代码示例来源:origin: jersey/jersey

@Override
public void filter(ContainerRequestContext filterContext) throws IOException {
  User user = authenticate(filterContext);
  filterContext.setSecurityContext(new Authorizer(user));
}

代码示例来源:origin: opentripplanner/OpenTripPlanner

@Override
public void filter(ContainerRequestContext containerRequest) throws WebApplicationException {
  // Get the authentication passed in HTTP headers parameters
  String auth = containerRequest.getHeaderString(HttpHeaders.AUTHORIZATION);
  if (auth != null) {
    if (auth.startsWith("Basic ") || auth.startsWith("basic ")) {
      if ( ! containerRequest.getSecurityContext().isSecure()) unencrypted();
      auth = auth.replaceFirst("[Bb]asic ", "");
      String[] split = new String(BaseEncoding.base64().decode(auth)).split(":", 2);
      if (split.length != 2) return;
      String user = split[0];
      String pass = split[1];
      if (pass.equals(passwords.get(user))) {
        containerRequest.setSecurityContext(makeSecurityContext(user, user));
      } else {
        unauthenticated (user);
      }
    }
  }
}

代码示例来源:origin: dropwizard/dropwizard

final boolean secure = securityContext != null && securityContext.isSecure();
requestContext.setSecurityContext(new SecurityContext() {
  @Override
  public Principal getUserPrincipal() {

代码示例来源:origin: jersey/jersey

@Override
public void filter(ContainerRequestContext request) throws IOException {
  // do not filter requests that do not use OAuth authentication
  String authHeader = request.getHeaderString(OAuth1Parameters.AUTHORIZATION_HEADER);
  if (authHeader == null || !authHeader.toUpperCase().startsWith(OAuth1Parameters.SCHEME.toUpperCase())) {
    return;
  }
  // do not filter requests that matches to access or token resources
  final Method handlingMethod = uriInfo.get().getMatchedResourceMethod().getInvocable().getHandlingMethod();
  if (handlingMethod.isAnnotationPresent(TokenResource.class)
      || handlingMethod.getDeclaringClass().isAnnotationPresent(TokenResource.class)) {
    return;
  }
  // do not filter if the request path matches pattern to ignore
  if (match(ignorePathPattern, request.getUriInfo().getPath())) {
    return;
  }
  OAuth1SecurityContext sc;
  try {
    sc = getSecurityContext(request);
  } catch (OAuth1Exception e) {
    if (optional) {
      return;
    } else {
      throw e;
    }
  }
  request.setSecurityContext(sc);
}

代码示例来源:origin: Graylog2/graylog2-server

requestContext.setSecurityContext(securityContext);

代码示例来源:origin: traccar/traccar

requestContext.setSecurityContext(securityContext);
} else {
  Method method = resourceInfo.getResourceMethod();

代码示例来源:origin: oracle/helidon

request.setSecurityContext(new JerseySecurityContext(securityContext,
                           filterContext.getMethodSecurity(),
                           "https".equals(filterContext.getTargetUri().getScheme())));

代码示例来源:origin: stackoverflow.com

final HttpSession session = webRequest.getSession();
requestContext.setSecurityContext(new SecurityContext() {
  @Override
  public Principal getUserPrincipal() {

代码示例来源:origin: hugegraph/hugegraph

@Override
public void filter(ContainerRequestContext context) throws IOException {
  User user = this.authenticate(context);
  Authorizer authorizer = new Authorizer(user, context.getUriInfo());
  context.setSecurityContext(authorizer);
}

代码示例来源:origin: stackoverflow.com

Authorizer authorizer = new Authorizer(roles, "admin", 
                    originalContext.isSecure());
requestContext.setSecurityContext(authorizer);

代码示例来源:origin: openscoring/openscoring

@Override
public void filter(ContainerRequestContext requestContext){
  SecurityContext securityContext = new NetworkSecurityContext(this.request){
    private Set<String> trustedAddresses = NetworkSecurityContextFilter.this.trustedAddresses;
    @Override
    public boolean isTrusted(String address){
      return (this.trustedAddresses).contains(address) || (this.trustedAddresses).contains("*");
    }
  };
  requestContext.setSecurityContext(securityContext);
}

代码示例来源:origin: stackoverflow.com

@PreMatching
public class AuthenticationRequestFilter implements ContainerRequestFilter {

@Override
public void filter(ContainerRequestContext request) throws IOException {
  String authorization = request.getHeaderString("Authorization"); // get BasicAuth header

  if (StringUtils.isNotEmpty(authorization) && StringUtils.startsWith(authorization, "Basic")) {
    ... do the password check... you have base64 encrypted string here

    request.setSecurityContext(new SecurityContext(){
                      ...implementation... 
    });
  }}}

代码示例来源:origin: org.ikasan/ikasan-rest

@Override
public void filter(ContainerRequestContext context) throws IOException
{
  Authentication authentication = authenticate(context);
      
  if(authentication != null)
  {
    context.setSecurityContext(new Authorizer(authentication));
  }
}

代码示例来源:origin: org.trellisldp/trellis-auth-basic

@Override
public void filter(final ContainerRequestContext requestContext) throws IOException {
  final boolean secure = ofNullable(requestContext.getSecurityContext()).filter(SecurityContext::isSecure)
    .isPresent();
  getCredentials(requestContext)
          .map(credentials -> authenticate(credentials)
                  .<RuntimeException>orElseThrow(() -> new NotAuthorizedException(challenge)))
          .ifPresent(principal -> requestContext
                  .setSecurityContext(new BasiAuthSecurityContext(principal, secure)));
}

代码示例来源:origin: org.ikasan/ikasan-dashboard-jar

@Override
public void filter(ContainerRequestContext context) throws IOException
{
  Authentication authentication = authenticate(context);
      
  if(authentication != null)
  {
    context.setSecurityContext(new Authorizer(authentication));
  }
}

代码示例来源:origin: bbilger/jrestless

private static SecurityContext filter(GatewayRequest request, AwsSecurityContextFilter filter) {
  filter.setGatewayRequest(request);
  ContainerRequestContext containerRequestContext = mock(ContainerRequestContext.class);
  ArgumentCaptor<SecurityContext> securityContextCapture = ArgumentCaptor.forClass(SecurityContext.class);
  try {
    filter.filter(containerRequestContext);
  } catch (IOException e) {
    throw new RuntimeException(e);
  }
  verify(containerRequestContext).setSecurityContext(securityContextCapture.capture());
  return securityContextCapture.getValue();
}

代码示例来源:origin: allegro/hermes

@Override
  public void filter(ContainerRequestContext requestContext) throws IOException {
    SecurityProvider.HermesSecurity security = securityProvider.security(requestContext);
    requestContext.setSecurityContext(security.getSecurityContext());
    requestContext.setProperty(OWNERSHIP_RESOLVER, security.getOwnershipResolver());
  }
}

代码示例来源:origin: hammock-project/hammock

private void propagateSecurityContext(JaxrsHttpFacade facade, ContainerRequestContext request, KeycloakDeployment resolvedDeployment, BearerTokenRequestAuthenticator bearer) {
  final RefreshableKeycloakSecurityContext skSession = new RefreshableKeycloakSecurityContext(resolvedDeployment, null, bearer.getTokenString(), bearer.getToken(), null, null, null);
  facade.setSecurityContext(skSession);
  final String principalName = AdapterUtils.getPrincipalName(resolvedDeployment, bearer.getToken());
  final KeycloakPrincipal<RefreshableKeycloakSecurityContext> principal = new KeycloakPrincipal<>(principalName, skSession);
  final Set<String> roles = AdapterUtils.getRolesFromSecurityContext(skSession);
  request.setSecurityContext(new HammockSecurityContext(principal, roles, request.getSecurityContext().isSecure()));
}

相关文章

微信公众号

最新文章

更多