Java 在请求中设置用户角色以实现基于角色的访问以保护jersey中的web服务
我想为我的web服务实现授权,根据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(); } } 它
@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
>