如何使用Spring MVC创建自己的过滤器?
2022-09-01 10:31:59
我使用Spring MVC(4.0.1)作为休息服务的后端,并使用angularjs作为前端。
对我的服务器后端的每个请求都有一个带有会话ID的http标头
我可以使用以下代码在服务器后端读取此标头:
@Autowired
protected HttpServletRequest request;
String xHeader=request.getHeader("X-Auth-Token"); //returns the sessionID from the header
现在我调用此方法,它只返回 true 或 false。如果用户存在于我的数据库中,它将返回 true 否则返回 false!getPermission(xHeader)
我现在想要创建一个具有此行为的过滤器,该过滤器检查每个请求,如果用户有权访问我的控制器!但是,如果该方法返回 false,它应该发回 401 错误,而不是到达我的控制器!
如何执行此操作并创建自己的筛选器?我只使用Java Config,不使用XML。
我想我必须在这里添加过滤器:
public class WebInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {
@Override
protected Filter[] getServletFilters() {
MyOwnFilter=new MyOwnFilter();
return new Filter[] {MyOwnFilter};
}
}