当前课程知识点:软件开发实训--动态网站开发 > 9 后台主界面实现 > 9.5拦截器调试 > 9.5.1拦截器调试
同学
你好
欢迎回到软件开发实训课堂
上节课咱们已经讲了拦截器的实现
那么它是否能够使用
那么到底行不行
我们来看一下
我们先直接访问我们的edituser页面
我们没有写控制器
好
我们把这个停掉
让他登录状态失效
然后我们运行
这样一来我们肯定是没有登录的
这里加个注释
我们是转向登录界面
因为是get请求
所以他直接就进入到登录页面去了
这里来看一下
我们请求
找不着了
为什么
因为这里边会拦截所有的请求
而不是一个因此上我们先看一下他有没有
进来
为了看她是否进来
我们需要用调试来拦截它
调试文件
然后我们在这里加一个断点
拦截它的处理
启动成功后
我们看到它确实进来拦截了
但是这个时候没有登陆
它永远都是转向到login去了
所以它不停的转
不停地转
就形成了一个死循环
因此我们需要跳过对login的拦截
好
我们来写一下
我们把服务停下来
为了跳过所需要拦截的资源
我们定一个数组
这个数组呢设置了所有不被拦截的内容
第一个
我们说js不被连接
CSS html以及htm
再一个就是我们的login
还有当我们请求发生错误时
它会去错误页面
所以我们把错误也要放过去
现在我们来看
除了这些还有哪些
图片文件也不能拦截
好
怎么跳过他们呢
这里边只需要在一开始去执行就可以了
那么我们就需要得到我们的请求路径
get
我们获得请求路径
可以通过request里边提供的方法
request UI那么它返回的
看一下
这里有说明
返回请求uri的部分
从协议到查询串
weber容器它不会去编码
我们来看请求的过程
这里请求第一个
发送post的请求后
请求了一个some pass点
html
它获得的是some pass点
html
第二个请求的是这个A点html它返回
的是A点html
也就是说它返回的是除了我们的网址的
域名以及协议以外的剩下的路径
也就是我们的weber上下门路径加上我们
请求的资源
既然是这样
那么我们就可以对它进行处理
看最后他在返回的时候
对这个查询串并没有去包含
仅仅只是路径
这就符合了我们的要求
我们就可以通过requst getter我们的
请求路径UI得到UI后我们就可以去
循环了
for
string s对这个数组进行循环
说如果pass点endwith
就是以哪个模式结束
我们这里面选择它的任意一个模式
只要它以任意上面这些模式结束
我们就可以怎么样
就可以让它跳过去
不做任何的请求
那么跳过去实际上就是执行这个语句
return
它在这就可以了
好
让他接着去处理相关的请求
这样的话就不会来到这个验证这个语句了
我们来看一下
访问login
已经拦截了
你看一下请求到的内容
我们没有启动服务
把服务启动一下
我们依然用调试模式来提供
就可以看到我们的拦截情况
还没有启动完成
好
这个错误不用去理会他
不会影响我们的调试
好
这回拦截了
我们来看一下pass的值是多少
pass
是斜杠login
我们来看一下它是否能够拦截得到
好
这已经到了return这个语句
这样我们就已经出去了
然后执行它
现在登录就出来了
然后我们输入正确的账号和密码
在输入之前我们还是访问一下
没登录的情况下对user的访问
我们这里直接点击下一步
你看进入到了登录的验证
又回来了
这个时候pass已经变了
看pass已经变回了login
因为他已经退回login界面了
这样就达到了我们的一个验证效果
好
去掉断点
我们来操作一下
输入错误的登录
没问题
输入正确的登录信息
好
这就登录进来了
然后点击
所有的都不会影响
这样我们就达到了一个对我们所有功能的
一个登陆认证的一个完全的一个保护
这就是我们对登录之后的一个功能授权的
一个验证
比较简单的一个验证
通过拦截器来操作
那么实际上这里边任何一个合法的用户
登录进来后都可以操作所有的功能
因为我们没有区分哪些功能是哪些用户来
操作的
当然如果你想要去区分的话
你注意你要去实现这样一个整体的操作
就是对用户要分角色
角色要分一些功能
功能对应一些资源
这样我们就可以按照不同的用户不同的角色
可以完成不同的操作
这就是整体的一个验证
下去以后
你可以自己去实现一下这个逻辑
另外一个
在实际企业开发中
现在都不自己实现这个逻辑
而是使用spring
security这样的框架来实现
因为他很成熟
所以建议你也把Spring security
好好的学习一下
练习一下
好
有关授权验证的拦截器我们就讲到这里
下节课
再见
-1.1课程介绍
--1.1.3随堂测试
-1.2网站需求分析
--1.2.4随堂测试
-1.3网站首页分析
--1.3.3随堂测试
-1.4导航菜单分析
--1.4.3随堂测试
-1.5内容区域分析
--1.5.3随堂测试
-1.6内容副页面分析
-1.7编写需求文档
-2.1后端页面总体分析
--2.1.3随堂测试
-2.2用户管理功能设计
--2.2.3随堂测试
-2.3内容与分类功能分析
--2.3.3随堂测试
-2.4网站配置功能设计
--2.4.4随堂测试
-2.5数据库及表结构分析
-总体设计文档
-3.1前台模板约定
--3.1.3随堂测试
-3.2网站配置接口设计
--3.2.3随堂测试
-3.3菜单接口设计
--3.3.3随堂测试
-3.4内容接口设计
--3.4.3随堂测试
-3.5幻灯片接口设计
--3.5.3随堂测试
-补充设计文档
-4.1用户管理功能设计
--4.1.3随堂测试
-4.2菜单管理功能设计
--4.2.3随堂测试
-4.3内容管理功能设计
--4.3.3随堂测试
-4.4网站配置信息设计
--4.4.3随堂测试
-完成设计文档
-4.6随堂测试
-5.1开发环境搭建
--5.1.2随堂测试
-5.2Web前端环境搭建
-5.3创建用户实体
--5.3.2随堂测试
-5.4用户实体表创建与初始化
--5.4.2随堂测试
-5.5用户数据访问接口实现
--5.5.2随堂测试
-5.6环境搭建问题
-6.1用户服务层接口实现
--6.1.2随堂测试
-6.2用户列表和编辑控制器实现
--6.2.2随堂测试
-6.3用户存储和删除控制器实现
-6.4用户添加、编辑界面实现
-6.5用户管理添加用户调试
-7.1用户查询模板实现
--7.1.2随堂测试
-7.2用户信息编辑的实现
-7.3单个用户删除实现
-7.4多个用户删除实现
-8.1用户列表分页基本实现
-8.2用户列表查询结果分页实现
-8.3通用日期处理
-8.4整型日期处理
--8.4.2随堂测试
-8.5枚举数据的应用
-9.1登录逻辑实现
--9.1.2随堂测试
-9.2登录界面及流程调试
--9.2.2随堂测试
-9.3管理主界面实现
--9.3.2随堂测试
-9.4授权验证拦截器实现
--9.4.2随堂测试
-9.5拦截器调试
-10.1分类接口实现
-10.2分类添加、编辑实现
-10.3分类树结构实现
-10.4分类删除实现
--10.4.2随堂测试
-11.1内容实体定义
-11.2相关接口定义
-11.3服务接口实现
-11.4内容添加、编辑模板实现
-11.5内容添加、编辑控制器实现
-11.6内容检索页面实现
-11.7内容分类树实现
-12.1修改UEditor相关问题
-12.2整合UEditor到内容编辑界面
-12.3UEditor图片对话框应用
-12.4文件上传问题处理
-13.1网站配置相关类实现
-13.2网站配置界面模板实现
-13.3网站配置调试
-14.1网站首页布局实现
-14.2菜单Vue组件实现
--14.2.2随堂测试
-14.3幻灯片Vue组件实现
-14.4滚动Vue组件实现
--14.4.2随堂测试
-14.5滚动接口实现
-14.6滚动接口调试
-14.7幻灯片接口实现
-15.1首页区域实现
-15.2首页内容脚本实现
-15.3首页完善
-15.4Vue组件放入单文件
-15.5详细页面实现
-16.1网站测试介绍
-16.2功能测试
-16.3打包发布
-16.4部署运行
--16.4.2随堂测试