共计 823 个字符,预计需要花费 3 分钟才能阅读完成。
AccessControlFilter
- 访问控制过滤器, 继承 PathMatchingFilter 过滤器, 重写 onPreHandle 办法.
- isAccessAllowed 是否容许拜访
-
onAccessDenied 是否回绝拜访
咱们通过重写上边两个办法来管制过滤逻辑, 实现以后的需要, 用户不登录点赞提醒请登录
- 定义一个 LoginAuthFilter 继承 AccessControlFilter
-
前端 js 渲染脚本
// 前端弹窗的 js 代码 private static final String JS = "<script type='text/javascript'>var wp=window.parent; if(wp!=null){while(wp.parent&&wp.parent!==wp){wp=wp.parent;}wp.location.href='%1$s';}else{window.location.href='%1$s';}</script>"; private String loginUrl = "/login";
-
重写 isAccessAllowed 办法判断用户是否登录
@Override protected boolean isAccessAllowed(ServletRequest request, ServletResponse response, Object mappedValue) throws Exception {Subject subject = SecurityUtils.getSubject(); if (null != subject) {if (subject.isRemembered()) {return true;} if (subject.isAuthenticated()) {return true;} } return false; }
-
重写 onAccessDenied 办法,ajax 申请返回谬误 code, 提醒‘请登录’否则跳转到登录页
查看残缺代码片段移步成果如下图
点击点赞按钮查看成果
正文完