• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Java HttpMessageContext类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中javax.security.enterprise.authentication.mechanism.http.HttpMessageContext的典型用法代码示例。如果您正苦于以下问题:Java HttpMessageContext类的具体用法?Java HttpMessageContext怎么用?Java HttpMessageContext使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



HttpMessageContext类属于javax.security.enterprise.authentication.mechanism.http包,在下文中一共展示了HttpMessageContext类的17个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: validateRequest

import javax.security.enterprise.authentication.mechanism.http.HttpMessageContext; //导入依赖的package包/类
@Override
public AuthenticationStatus validateRequest(HttpServletRequest request, HttpServletResponse response,
                                            HttpMessageContext httpMessageContext) throws AuthenticationException {

    // ...
    String name = request.getParameter("name");
    String password = request.getParameter("password");

    if (name != null && password != null) {
        CredentialValidationResult result = identityStoreHandler.validate(new UsernamePasswordCredential(name, password));

        return httpMessageContext.notifyContainerAboutLogin(result);
    }

    return httpMessageContext.doNothing();
}
 
开发者ID:PacktPublishing,项目名称:Architecting-Modern-Java-EE-Applications,代码行数:17,代码来源:TestAuthenticationMechanism.java


示例2: validateRequest

import javax.security.enterprise.authentication.mechanism.http.HttpMessageContext; //导入依赖的package包/类
@Override
public AuthenticationStatus validateRequest(HttpServletRequest request, HttpServletResponse response, HttpMessageContext httpMessageContext) throws AuthenticationException {

    String authorizationHeader = request.getHeader("Authorization");
    if (authorizationHeader != null && authorizationHeader.startsWith(BEARER)) {
        String token = authorizationHeader.substring(BEARER.length());

        JWTCredential credential = tokenHandler.retrieveCredential(token);

        if (credential == null) {
            httpMessageContext.responseUnauthorized();
        }
        CredentialValidationResult result = identityStoreHandler.validate(credential);

        if (result.getStatus() == VALID) {
            return httpMessageContext.notifyContainerAboutLogin(
                    result.getCallerPrincipal(), result.getCallerGroups());
        } else {
            return httpMessageContext.responseUnauthorized();
        }
    }

    return httpMessageContext.responseUnauthorized();
}
 
开发者ID:atbashEE,项目名称:jsr375-extensions,代码行数:25,代码来源:JWTAuthenticationMechanism.java


示例3: validateToken

import javax.security.enterprise.authentication.mechanism.http.HttpMessageContext; //导入依赖的package包/类
/**
 * To validate the JWT token e.g Signature check, JWT claims check(expiration) etc
 *
 * @param token The JWT access tokens
 * @param context
 * @return the AuthenticationStatus to notify the container
 */
private AuthenticationStatus validateToken(String token, HttpMessageContext context) {
    try {
        if (tokenProvider.validateToken(token)) {
            JwtCredential credential = tokenProvider.getCredential(token);

            //fire an @Authenticated CDI event.
            authenticatedEvent.fire(new UserInfo(credential.getPrincipal(), credential.getAuthorities()));

            return context.notifyContainerAboutLogin(credential.getPrincipal(), credential.getAuthorities());
        }
        // if token invalid, response with unauthorized status
        return context.responseUnauthorized();
    } catch (ExpiredJwtException eje) {
        LOGGER.log(Level.INFO, "Security exception for user {0} - {1}", new String[]{eje.getClaims().getSubject(), eje.getMessage()});
        return context.responseUnauthorized();
    }
}
 
开发者ID:hantsy,项目名称:javaee8-jaxrs-sample,代码行数:25,代码来源:JwtAuthenticationMechanism.java


示例4: validateRequest

import javax.security.enterprise.authentication.mechanism.http.HttpMessageContext; //导入依赖的package包/类
@Override
public AuthenticationStatus validateRequest(HttpServletRequest request, HttpServletResponse response, HttpMessageContext httpMessageContext) throws AuthException {

    String authorizationHeader = request.getHeader("Authorization");
    if (authorizationHeader != null && authorizationHeader.startsWith(BEARER)) {
        String token = authorizationHeader.substring(BEARER.length());

        JWTCredential credential = tokenHandler.retrieveCredential(token);

        CredentialValidationResult result = identityStore.validate(credential);

        if (result.getStatus() == VALID) {
            // Communicate the details of the authenticated user to the
            // container. In many cases the underlying handler will just store the details
            // and the container will actually handle the login after we return from
            // this method.
            return httpMessageContext.notifyContainerAboutLogin(
                    result.getCallerPrincipal(), result.getCallerGroups());
        } else {
            throw new AuthException("Login failed");
        }
    }

    return httpMessageContext.doNothing();
}
 
开发者ID:rdebusscher,项目名称:soteria-jwt,代码行数:26,代码来源:JWTAuthenticationMechanism.java


示例5: validateRequest

import javax.security.enterprise.authentication.mechanism.http.HttpMessageContext; //导入依赖的package包/类
@Override
public AuthenticationStatus validateRequest(HttpServletRequest request, HttpServletResponse response, HttpMessageContext httpMessageContext) throws AuthenticationException {

    if (request.getHeader("MY-API-KEY") != null && request.getHeader("MY-API-KEY") != null) {

        final String key = request.getHeader("MY-API-KEY");

        if (key != null && key.equalsIgnoreCase("DUKE ROCKS")) {

            return httpMessageContext.notifyContainerAboutLogin(
                    "app", new HashSet<>(asList("foo")));
        } else {
            return httpMessageContext.responseUnauthorized();
        }
    }

    return httpMessageContext.doNothing();
}
 
开发者ID:ivargrimstad,项目名称:security-samples,代码行数:19,代码来源:SimpleAuthenticationMechanism.java


示例6: validateRequest

import javax.security.enterprise.authentication.mechanism.http.HttpMessageContext; //导入依赖的package包/类
@Override
public AuthenticationStatus validateRequest(HttpServletRequest request, HttpServletResponse response, HttpMessageContext httpMessageContext) throws AuthenticationException {

    if (request.getParameter("login:username") != null && request.getParameter("login:password") != null) {

        String name = request.getParameter("login:username");
        Password password = new Password(request.getParameter("login:password"));

        CredentialValidationResult result = identityStore.validate(
                new UsernamePasswordCredential(name, password));

        if (result.getStatus() == VALID) {
            return httpMessageContext.notifyContainerAboutLogin(
                    result.getCallerPrincipal(), result.getCallerGroups());
        } else {
            
            return httpMessageContext.responseUnauthorized();
        }
    }

    return httpMessageContext.doNothing();
}
 
开发者ID:ivargrimstad,项目名称:security-samples,代码行数:23,代码来源:SimpleJSFAuthenticationMechanism.java


示例7: validateRequest

import javax.security.enterprise.authentication.mechanism.http.HttpMessageContext; //导入依赖的package包/类
@Override
public AuthenticationStatus validateRequest(
        HttpServletRequest request, 
        HttpServletResponse response, 
        HttpMessageContext context) throws AuthenticationException {
    
    Credential credential = context.getAuthParameters().getCredential();

    if (credential != null) {
        return context.notifyContainerAboutLogin(identityStore.validate(credential));
    } else {
        return context.doNothing();
    }
}
 
开发者ID:hantsy,项目名称:javaee8-jsf-sample,代码行数:15,代码来源:CustomAuthenticationMechanism.java


示例8: validateRequest

import javax.security.enterprise.authentication.mechanism.http.HttpMessageContext; //导入依赖的package包/类
@Override
public AuthenticationStatus validateRequest(HttpServletRequest req, HttpServletResponse res, HttpMessageContext context) {

    CredentialValidationResult result = idStoreHandler.validate(
            new UsernamePasswordCredential(
                    req.getParameter("name"), req.getParameter("password")));

    if (result.getStatus() == VALID) {
        return context.notifyContainerAboutLogin(result);
    } else {
        return context.responseUnauthorized();
    }

}
 
开发者ID:readlearncode,项目名称:Java-EE-8-Sampler,代码行数:15,代码来源:LiteAuthenticationMechanism.java


示例9: isCallbackRequest

import javax.security.enterprise.authentication.mechanism.http.HttpMessageContext; //导入依赖的package包/类
private boolean isCallbackRequest(HttpServletRequest request, HttpServletResponse response, HttpMessageContext httpMsgContext) throws Exception {
    if (request.getRequestURI().equals(callbackURL) && request.getParameter("code") != null) {

        if (!isEmpty(request.getParameter("state"))) {
            try {
                String state = request.getParameter("state");
                //Cookie cookie = stateCookieDAO.get(request);
                // TODO Support state token
                /*
                if (cookie != null && state.equals(cookie.getValue())) {
                    return true;
                } else {
                    logger.log(WARNING,
                            "State parameter provided with callback URL, but did not match cookie. " +
                                    "State param value: " + state + " " +
                                    "Cookie value: " + (cookie == null ? "<no cookie>" : cookie.getValue())
                    );
                }
                */
            } finally {
                //stateCookieDAO.remove(request, response);
            }
        }
        return true;
    }

    return false;
}
 
开发者ID:atbashEE,项目名称:jsr375-extensions,代码行数:29,代码来源:OAuthClientServerBaseModule.java


示例10: validateRequest

import javax.security.enterprise.authentication.mechanism.http.HttpMessageContext; //导入依赖的package包/类
@Override
public AuthenticationStatus validateRequest(HttpServletRequest request, HttpServletResponse response, HttpMessageContext context) {

    LOGGER.log(Level.INFO, "validateRequest: {0}", request.getRequestURI());
    // Get the (caller) name and password from the request
    // NOTE: This is for the smallest possible example only. In practice
    // putting the password in a request query parameter is highly insecure
    String name = request.getParameter("username");
    String password = request.getParameter("password");
    String token = extractToken(context);

    if (name != null && password != null
        && "POST".equals(request.getMethod())
        && request.getRequestURI().endsWith("/auth/login")) {
        LOGGER.log(Level.INFO, "user credentials : {0}, {1}", new String[]{name, password});
        // validation of the credential using the identity store
        CredentialValidationResult result = identityStoreHandler.validate(new UsernamePasswordCredential(name, password));
        if (result.getStatus() == CredentialValidationResult.Status.VALID) {
            // Communicate the details of the authenticated user to the container and return SUCCESS.
            return createToken(result, context);
        }
        // if the authentication failed, we return the unauthorized status in the http response
        return context.responseUnauthorized();
    } else if (token != null) {
        // validation of the jwt credential
        return validateToken(token, context);
    } else if (context.isProtected()) {
        // A protected resource is a resource for which a constraint has been defined.
        // if there are no credentials and the resource is protected, we response with unauthorized status
        return context.responseUnauthorized();
    }
    // there are no credentials AND the resource is not protected, 
    // SO Instructs the container to "do nothing"
    return context.doNothing();
}
 
开发者ID:hantsy,项目名称:javaee8-jaxrs-sample,代码行数:36,代码来源:JwtAuthenticationMechanism.java


示例11: createToken

import javax.security.enterprise.authentication.mechanism.http.HttpMessageContext; //导入依赖的package包/类
/**
 * Create the JWT using CredentialValidationResult received from IdentityStoreHandler
 *
 * @param result the result from validation of UsernamePasswordCredential
 * @param context
 * @return the AuthenticationStatus to notify the container
 */
private AuthenticationStatus createToken(CredentialValidationResult result, HttpMessageContext context) {
    if (!isRememberMe(context)) {
        String jwt = tokenProvider.createToken(result.getCallerPrincipal().getName(), result.getCallerGroups(), false);
        context.getResponse().setHeader(HttpHeaders.AUTHORIZATION, AUTHORIZATION_PREFIX + jwt);
    }

    //fire an @Authenticated CDI event.
    authenticatedEvent.fire(new UserInfo(result.getCallerPrincipal().getName(), result.getCallerGroups()));

    return context.notifyContainerAboutLogin(result.getCallerPrincipal(), result.getCallerGroups());
}
 
开发者ID:hantsy,项目名称:javaee8-jaxrs-sample,代码行数:19,代码来源:JwtAuthenticationMechanism.java


示例12: extractToken

import javax.security.enterprise.authentication.mechanism.http.HttpMessageContext; //导入依赖的package包/类
/**
 * To extract the JWT from Authorization HTTP header
 *
 * @param context
 * @return The JWT access tokens
 */
private String extractToken(HttpMessageContext context) {
    String authorizationHeader = context.getRequest().getHeader(HttpHeaders.AUTHORIZATION);
    if (authorizationHeader != null && authorizationHeader.startsWith(AUTHORIZATION_PREFIX)) {
        String token = authorizationHeader.substring(AUTHORIZATION_PREFIX.length(), authorizationHeader.length());
        return token;
    }
    return null;
}
 
开发者ID:hantsy,项目名称:javaee8-jaxrs-sample,代码行数:15,代码来源:JwtAuthenticationMechanism.java


示例13: validateRequest

import javax.security.enterprise.authentication.mechanism.http.HttpMessageContext; //导入依赖的package包/类
@Override
public AuthenticationStatus validateRequest(HttpServletRequest request, HttpServletResponse response, HttpMessageContext httpMessageContext) throws AuthenticationException {
    final String name = request.getParameter("name");
    final String pwd = request.getParameter("password");

    if (name != null && pwd != null ) {

        // Get the (caller) name and password from the request
        // NOTE: This is for the smallest possible example only. In practice
        // putting the password in a request query parameter is highly
        // insecure
        
        Password password = new Password(pwd);

        // Delegate the {credentials in -> identity data out} function to
        // the Identity Store
        CredentialValidationResult result = identityStoreHandler.validate(
                new UsernamePasswordCredential(name, password));

        if (result.getStatus() == VALID) {
            // Communicate the details of the authenticated user to the
            // container. In many cases the underlying handler will just store the details 
            // and the container will actually handle the login after we return from 
            // this method.
            return httpMessageContext.notifyContainerAboutLogin(
                    result.getCallerPrincipal(), result.getCallerGroups());
        }

        return httpMessageContext.responseUnauthorized();
    }

    return httpMessageContext.doNothing();
}
 
开发者ID:hantsy,项目名称:ee8-sandbox,代码行数:34,代码来源:TestAuthenticationMechanism.java


示例14: validateRequest

import javax.security.enterprise.authentication.mechanism.http.HttpMessageContext; //导入依赖的package包/类
@Override
public AuthenticationStatus validateRequest(HttpServletRequest request, HttpServletResponse response, HttpMessageContext httpMessageContext) throws AuthenticationException {

    if (request.getParameter("name") != null && request.getParameter("password") != null) {

        // Get the (caller) name and password from the request
        // NOTE: This is for the smallest possible example only. In practice
        // putting the password in a request query parameter is highly
        // insecure
        String name = request.getParameter("name");
        Password password = new Password(request.getParameter("password"));

        // Delegate the {credentials in -> identity data out} function to
        // the Identity Store
        CredentialValidationResult result = identityStore.validate(
                new UsernamePasswordCredential(name, password));

        if (result.getStatus() == VALID) {
            // Communicate the details of the authenticated user to the
            // container. In many cases the underlying handler will just store the details 
            // and the container will actually handle the login after we return from 
            // this method.
            return httpMessageContext.notifyContainerAboutLogin(
                    result.getCallerPrincipal(), result.getCallerGroups());
        } else {
            return httpMessageContext.responseUnauthorized();
        }
    }

    return httpMessageContext.doNothing();
}
 
开发者ID:ivargrimstad,项目名称:security-samples,代码行数:32,代码来源:SimpleAuthenticationMechanism.java


示例15: validateRequest

import javax.security.enterprise.authentication.mechanism.http.HttpMessageContext; //导入依赖的package包/类
@Override
public AuthenticationStatus validateRequest(HttpServletRequest req, HttpServletResponse res, HttpMessageContext msg) {
    return msg.doNothing();
}
 
开发者ID:readlearncode,项目名称:Java-EE-8-Sampler,代码行数:5,代码来源:CustomAuthenticationMechanism.java


示例16: cleanSubject

import javax.security.enterprise.authentication.mechanism.http.HttpMessageContext; //导入依赖的package包/类
@Override
public void cleanSubject(HttpServletRequest request, HttpServletResponse response, HttpMessageContext httpMessageContext) {
    HttpAuthenticationMechanism.super.cleanSubject(request, response, httpMessageContext);
}
 
开发者ID:atbashEE,项目名称:jsr375-extensions,代码行数:5,代码来源:OAuthClientServerBaseModule.java


示例17: isRememberMe

import javax.security.enterprise.authentication.mechanism.http.HttpMessageContext; //导入依赖的package包/类
/**
 * this function invoked using RememberMe.isRememberMeExpression EL expression
 *
 * @param context
 * @return The remember me flag
 */
public Boolean isRememberMe(HttpMessageContext context) {
    return Boolean.valueOf(context.getRequest().getParameter("rememberMe"));
}
 
开发者ID:hantsy,项目名称:javaee8-jaxrs-sample,代码行数:10,代码来源:JwtAuthenticationMechanism.java



注:本文中的javax.security.enterprise.authentication.mechanism.http.HttpMessageContext类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java LightModel类代码示例发布时间:2022-05-23
下一篇:
Java DumpTube类代码示例发布时间:2022-05-23
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap