关于html页面拦截器权限控制
2017-05-26 11:23
405 查看
最近项目中比较喜欢在前端用html,这样直接把页面贴进去方便好多,并且html响应也比较快,但是对于html权限这块,应用拦截器可以很简单的实现。
直接贴代码
public class MyInterceptor implements HandlerInterceptor {
private Logger logger=Logger.getLogger(MyInterceptor .class);
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
//请求的路径
String url = request.getServletPath().toString();
logger.info("url:" + url);
//1、静态资源直接放行html img css js
if (request.getServletPath().contains(".")) {
return true;
}
//2、放行登录请求
if (request.getServletPath().endsWith("login")) {
return true;
}
//3、下载pdf放行 .pdf下载
if (request.getServletPath().endsWith("download")) {
return true;
}
//4、如果用户已经登录,从Header中获取Authorization
String authorization = request.getHeader("Authorization");
//5 判断token是不是空
if (authorization == null) {
return false;
}
//这里token可以根据个人爱好,随便使用任何加密算法来实现
String token="xxxxxxxx";
//6、验证token是否为真实, 这里验证token签名 根据特殊秘钥 一般我们签名当前最火的是redis
if (token.equals(authorization)) {
return true;
}
//7非法请求 即这些请求需要登录后才能访问
Response baseResponse = new Response();
baseResponse.setCode("403");
baseResponse.setMessage("权限不够");
response.setContentType("text/json;charset=UTF-8");
response.setCharacterEncoding("UTF-8");
response.getWriter().write(baseResponse);
return false;
}
直接贴代码
public class MyInterceptor implements HandlerInterceptor {
private Logger logger=Logger.getLogger(MyInterceptor .class);
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
//请求的路径
String url = request.getServletPath().toString();
logger.info("url:" + url);
//1、静态资源直接放行html img css js
if (request.getServletPath().contains(".")) {
return true;
}
//2、放行登录请求
if (request.getServletPath().endsWith("login")) {
return true;
}
//3、下载pdf放行 .pdf下载
if (request.getServletPath().endsWith("download")) {
return true;
}
//4、如果用户已经登录,从Header中获取Authorization
String authorization = request.getHeader("Authorization");
//5 判断token是不是空
if (authorization == null) {
return false;
}
//这里token可以根据个人爱好,随便使用任何加密算法来实现
String token="xxxxxxxx";
//6、验证token是否为真实, 这里验证token签名 根据特殊秘钥 一般我们签名当前最火的是redis
if (token.equals(authorization)) {
return true;
}
//7非法请求 即这些请求需要登录后才能访问
Response baseResponse = new Response();
baseResponse.setCode("403");
baseResponse.setMessage("权限不够");
response.setContentType("text/json;charset=UTF-8");
response.setCharacterEncoding("UTF-8");
response.getWriter().write(baseResponse);
return false;
}
相关文章推荐
- Struts 拦截器权限控制【通过拦截器实现登录后跳转到登录前页面】
- ASP.NET对HTML页面元素进行权限控制(二)
- Struts 拦截器权限控制【通过拦截器实现登录后跳转到登录前页面】
- 基于拦截器和注解实现页面的访问权限控制
- ASP.NET对HTML页面元素进行权限控制(一)
- Java Web开发中关于页面权限的控制
- shiro配合html页面完成细粒化权限控制
- ASP.NET对HTML页面元素进行权限控制(三)
- AJAX在静态HTML页面中实现权限控制的应用
- ASP.NET对HTML页面元素进行权限控制(一)
- ASP.NET对HTML页面元素进行权限控制(二)
- Struts 拦截器权限控制【通过拦截器实现登录后跳转到登录前页面】
- Struts 拦截器权限控制【通过拦截器实现登录后跳转到登录前页面】
- 关于权限控制(转载)
- 如何用css和div控制html页面中的下拉列表框(select)
- 关于用户权限控制
- IE里面打印HTML页面时的分页控制
- 关于权限控制的一点点想法(BS, Java)
- html 通过ajax进行权限控制