Fla*_*ert 8 java google-app-engine jersey servlet-filters
我正在使用带引擎的App Engine构建应用程序.我想使用@RolesAllowed(Role_user)允许在请求中创建过滤器的注释.
问题是我们需要配置类SecurityContextFilter.
我的目标是让id用户存储在会话中,然后直接在function : public ContainerRequest filter(ContainerRequest request)我的班级中检查他们的角色SecurityContextFilter.
我需要注入HttpRequest以获取会话,但是当我注入它时,我得到一个异常Java.lang.Null.
我想在课堂上获得一个会话对象ContainerRequest.
我怎样才能做到这一点?
编辑:
我找到了解决这个问题的方法,但我不知道这是否干净:你可以直接在函数中注入HttpRequest:isUserInRole(_role)所以我使用这个,然后我通过会话得到我的userId然后得到角色用户我检查是否匹配_role并返回true或false.
我不确定您是否可以HttpServletRequest在球衣顶部注入 a ContainerRequestFilter,但您仍然可以以编程方式执行此操作,而不是使用注释:
@Override
public ContainerRequest filter(ContainerRequest request) {
if(request.isUserInRole("SOME_ROLE")){
//process some treatement
}
return request;
}
Run Code Online (Sandbox Code Playgroud)
BR。
| 归档时间: |
|
| 查看次数: |
906 次 |
| 最近记录: |