我有一个简单的球衣2.4资源:
@RolesAllowed("admin")
public List<Folder> list(){}
Run Code Online (Sandbox Code Playgroud)
我还有一个ContainerRequestFilter,它设置自定义securitycontext:
public void filter(ContainerRequestContext requestContext) throws IOException {
requestContext.setSecurityContext(new MySecurityContext(...));
}
Run Code Online (Sandbox Code Playgroud)
在list()函数中,我确实得到了正确的securitycontext:MySecurityContext.并且调用"securityContext.isUserInRole("admin")"有效.
但注释@RolesAllowed似乎没有做任何事情,永远不会调用MySecurityContext的函数isUserInRole.
我需要做一些特别的事情来让@RolesAllowed工作吗?
找到了 :-)
@RolesAllowed("admin")不是@RolesAllowed("{admin}")
而最重要的一个:
寄存器(RolesAllowedDynamicFeature.class);
| 归档时间: |
|
| 查看次数: |
2571 次 |
| 最近记录: |