Java 在请求中设置用户角色以实现基于角色的访问以保护jersey中的web服务

Java 在请求中设置用户角色以实现基于角色的访问以保护jersey中的web服务,java,web-services,security,http,jersey,Java,Web Services,Security,Http,Jersey,我想为我的web服务实现授权,根据jersey文档,它可以通过基于角色的访问来实现。我想保护一个web服务,并尝试了以下方法 @Path("complain") public Complain get(@Context SecurityContext sc) { if (sc.isUserInRole("member") { return new complain(); } else { return new error(); } } 它

我想为我的web服务实现授权,根据jersey文档,它可以通过基于角色的访问来实现。我想保护一个web服务,并尝试了以下方法

@Path("complain")
public Complain get(@Context SecurityContext sc) {
    if (sc.isUserInRole("member") {
        return new complain();
    } else {
        return new error();
    }
}
它获取请求中的用户角色,如果是成员,则授予访问权限,如果不是,则抛出错误。但是如何设置用户角色。

这将对您有所帮助


/休息/管理/*
管理
/休息/订单/*
顾客
基本的
我的默认领域

使用此配置,我可以声明哪个角色应该访问哪个url。我想设置该角色,以便可以访问它。
    <security-constraint>
        <web-resource-collection>
            <url-pattern>/rest/admin/*</url-pattern>
        </web-resource-collection>
        <auth-constraint>
            <role-name>admin</role-name>
        </auth-constraint>
    </security-constraint>
    <security-constraint>
        <web-resource-collection>
            <url-pattern>/rest/orders/*</url-pattern>
        </web-resource-collection>
        <auth-constraint>
            <role-name>customer</role-name>
        </auth-constraint>
    </security-constraint>
    <login-config>
        <auth-method>BASIC</auth-method>
        <realm-name>my-default-realm</realm-name>
    </login-config

>