SSM框架简单的未登录拦截,所有跳转链接都进行了拦截,就是直接跳页面不拦截
SSM框架简单的未登录拦截,
拦截器
public boolean preHandle(HttpServletRequest request, HttpServletResponse response,
Object arg2) throws Exception {
//对请求路径进行判断
String servletPath=request.getServletPath();
boolean flag=false; //用于存储判断登录的结果
//判断请求是否需要拦截
for(String s:IGNORE_URI){
if(servletPath.contains(s)){
flag=true; //如果是不拦截的网站,flag为true,跳出循环,转向下个方法
break;
}
}
//拦截请求
if(!flag){ //如果是非公开的页面↓
AdminUser admin= (AdminUser)request.getSession().getAttribute("adminuser");
if(admin==null){
//System.out.println("AuthorizationInterceptor拦截请求");
//request.setAttribute("message", "请先登录管理员后再访问网站");
request.getRequestDispatcher("../login.jsp").forward(request, response);
}else{
//用户登陆过,验证通过,放行
//System.out.println("AuthorizationInterceptor放行请求");
flag=true;
}
}
return flag;
}
配置
<mvc:interceptors>
<!-- 配置登陆拦截器 -->
<mvc:interceptor>
<mvc:mapping path="/**"/>
<bean class="com.zk.speak.filter.LoginHandlerIntercepter"></bean>
</mvc:interceptor>
</mvc:interceptors>
所有链接都进行了拦截,可就是直接输入页面不会拦截
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
/**
登录拦截器
@author Administrator
*
*/
public class LoginHandlerIntercepter implements HandlerInterceptor {
你要在拦截器配置里配置一下拦截失败跳转的页面