泽西框架中的授权

时间:2015-06-25 11:03:25

标签: jersey authorization

我正在使用jersey(java)框架。我使用容器请求过滤器基于cookie进行了身份验证。现在我必须做授权。那么,我该怎么办?请快速指导。

1 个答案:

答案 0 :(得分:1)

泽西岛有@RolesAllowed("role")注释以方便验证。利用:

@Context
HttpServletRequest httpRequest;`

并在登录方法中将标识放入会话中,如下所示:

HttpSession session = httpRequest.getSession(true);
session.setAttribute(key, val);
过滤器中的

final String name = session.getAttribute(key);

...

SecurityContext securityContext = new SecurityContext() {

    public boolean isUserInRole(String roleName) {
        return roleName.equals("role");
    }

...

    public Principal getUserPrincipal() {

        ...

        return new Principal() {
            public String getName() {
                return name;
            }
        };

        ...

    }

...

};

requestContext.setSecurityContext(securityContext);

简而言之就是这样。这是很常见的方法。如果你想我可以在GitHub上分享ref impl。