解决方案:在web层配置过滤器:

public void doFilter(ServletRequest request, ServletResponse response,FilterChain chain) throws IOException, ServletException {
        HttpServletRequest req = (HttpServletRequest) request;
        HttpServletResponse resp = (HttpServletResponse) response;
        String conString = "";
        conString = req.getHeader("REFERER");//获取父url--如果不是直接输入的话就是先前的访问过来的页面,要是用户输入了,这个父url是不存在的
        if("".equals(conString) || null==conString){ //判断如果上一个目录为空的话,说明是用户直接输入url访问的
         String servletPath = req.getServletPath();//当前请求url,去掉几个可以直接访问的页面
         if(servletPath.contains("login") || servletPath.contains("/user/getmenulist")){ //跳过index.jsp和登陆Login.jsp
          chain.doFilter(request, response);
         } else {
          resp.sendRedirect("login");//跳回首页
         }
        } else {
         chain.doFilter(request, response);
        }
        
    }

在web.xml中配置过滤器:

<!-- 防止用户通过url访问不在权限内的菜单 -->
    <filter>
         <filter-name>grantFilter</filter-name>
         <filter-class>com.skynet.filter.GrantFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>grantFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

在实现过滤器功能中发现过滤器必须实现Filter接口才可以,否则报错。

通过过滤器防止用户通过url访问不在权限内的菜单相关推荐

  1. linux给ftp账号分配sftp权限,Linux设置用户通过SFTP访问目录的权限教程

    东坡小编这里给大家分享的是Linux设置用户通过SFTP访问目录的权限教程,对linux sftp 用户权限设置可以参考下. sftp和ftp是两种协议是不同的,sftp是ssh内含的协议,只要ssh ...

  2. 通过过滤器Filter来完成url访问权限限制

    1.新建过滤器类: package com.xiami.manager.filter; import java.io.IOException; import javax.servlet.Filter; ...

  3. linux系统访问sftp,Linux上设置用户通过SFTP访问目录的权限的方法

    sftp和ftp是两种协议是不同的,sftp是ssh内含的协议,只要sshd服务器启动了,它就可用,它本身不需要ftp服务器启动. 1.查看openssh软件版本,想sftp服务用户只能访问特定的文件 ...

  4. 检查用户是否有访问权限

    如何实现用户是否有访问页面的权限,我们可以在asp.net的Page_Load中,取得当前网页名称与当前用户,来检查到用户是否有对此页访问权. 可以通过检索[UsersRole]表和[UsersMod ...

  5. linux配置SVN,添加用户,配置用户组的各个权限教程

    前言 今天组长要我给新员工添加svn 的权限,以及赋予他们权限访问指定的目录,于是就顺手写个教程吧,毕竟好记性不如烂笔头 一.xshell登陆服务器 用xshell登陆服务器,cd切换到服务器中svn ...

  6. 如果用户没有登陆直接通过url访问其它页面的解决办法

    项目的登陆功能是模块差不多都做完时候才加上的,由于项目都是用框架做的,现在想增加登陆功能,如果用户直接通过url访问其它页面时候则返回到登陆页面. 这次的解决方案是不依赖任何框架和jar包.就用最基本 ...

  7. Tomcat使用过滤器实现页面的限制访问,登录才能访问受限页面

    Tomcat使用过滤器实现页面的限制访问 需要解决的问题   最近在学tomcat,当接触到过滤器时,想着怎样才能对所有的页面请求都进行一次拦截筛选,实现只放行登录页面,如果访问其他页面,则必须登录, ...

  8. jar 工程我怎么在网页上url访问某一个方法_搜狗用这个骚技术,把百度逼上了绝路。。。...

    点击上方[全栈开发者社区]→右上角[...]→[设为星标⭐] 前几天在百度搜索的时候,一不小心误点搜索候选词,给我跑到搜狗搜索里面去了,索性花了点时间分析一下这其中的猫腻,不看不知道,一看吓一跳. 在 ...

  9. node 后台重定向_登录后重定向到用户原本要访问的页面《 Node.js 应用:重构与改进 #3 》...

    现在我是未登录的状态 ... 可以先试着打开一个内容的编辑界面 ... 会被重定向到登录页面 ... 输入用户名 ... 密码 .. 确认登录 ... 成功以后会把用户重定向到这个用户页面上 ... ...

最新文章

  1. C/C++在不确定输入字符串长度情况下,对其进行存储和字符操作问题
  2. 鸟哥学习笔记---网络安全基础
  3. 怎么样做一个合格而又可爱的面试官
  4. java自然排序_Java中的自然排序顺序字符串比较 - 是内置的吗?
  5. 400多家单位、30余万科研人员,10多年奋斗!北斗卫星核心器件实现100%国产!(附:北斗研发建设历程​)...
  6. python种颜色循环_python – 重置Matplotlib中的颜色循环
  7. IT项目中的6类知识转移
  8. linux模拟cpu过载,linux下模拟CPU占用100%小程序
  9. 共享端口445能改吗_模玩控:高达模型改圣斗士星矢五小强,大家能认出它们都是机体吗?...
  10. 航模入门经典教材:航空模型教材
  11. AM5708 thermal探究
  12. elementUI中的Backtop回到顶部
  13. python notify wait_Python中的threading
  14. 2020年软件测试工程师需要具备什么技能--需要学哪些
  15. Unity下Animation资源压缩简析
  16. matlab非线性优化求解,用MATLAB求解非线性优化问题
  17. 给孩子积极心理暗示的语句实操
  18. 视频的码率、帧率、分辨率之间的区别
  19. TOGAF ADM 教程
  20. 毕业论文答辩管理系统/毕业论文管理系统的设计与实现

热门文章

  1. 助你打造纯键盘流系统——Launchy
  2. 南华大学java补考_关于2017年秋季学期学生补考报名及成绩复核的通知
  3. python内存管理变量_Python变量内存管理
  4. linux操作系统版本 3100,Linux操作系统默认打开文件数
  5. 万稞pw80线切割编程软件_线切割机床的控制系统的现状
  6. dnastar拼接反向互补序列_一起看流畅的python:序列构成的数组
  7. java读取ini_java 读取ini配置文件
  8. 述说互联网1.0时代的巨头Yahoo的25年消亡史,传奇巨头落幕的故事
  9. 九十六、轻松搞定Python中的PPT办公自动化系列
  10. 基于用户的协同过滤(余弦相似度)