SpingMVC拦截器-用户登录权限控制分析

 视频链接:08-SpringMVC拦截器-用户登录权限控制代码实现2_哔哩哔哩_bilibili

114

1、做了一个用户跟角色添加的相关操作

1.1 这个后台工程,没有进行相关操作也能够进行登录:

SpingMVC拦截器-用户登录权限控制分析_第1张图片

2、现在我做一个用户的权限控制,如果当前我没有进行操作,那我的后台就不进行操作:同时让你跳转到登录页面

SpingMVC拦截器-用户登录权限控制分析_第2张图片

3、功能写到那,写到inter...,控制器里面,专门验证一下,页面有没有进行登录

4、业务流程操作是这样的,如下。用户登还是没登,如何进行判断,用session,进行判断,如果不做集群,存session,如果做集群,存到redis里面SpingMVC拦截器-用户登录权限控制分析_第3张图片

4.1

5、以下为设置拦截器的功能:

SpingMVC拦截器-用户登录权限控制分析_第4张图片

5.1

6、现在我们演示的是Spring_interceptor工程中转换到Spring_test工程:

SpingMVC拦截器-用户登录权限控制分析_第5张图片

7、我先把他发布过去:

SpingMVC拦截器-用户登录权限控制分析_第6张图片

8、移除掉

SpingMVC拦截器-用户登录权限控制分析_第7张图片

 选择test那个文件:

SpingMVC拦截器-用户登录权限控制分析_第8张图片

9、把服务器关掉,然后再重新启动

SpingMVC拦截器-用户登录权限控制分析_第9张图片

10、这时候,我要创建一个inter...包

SpingMVC拦截器-用户登录权限控制分析_第10张图片

11、建个包

SpingMVC拦截器-用户登录权限控制分析_第11张图片

12、创建好之后,我要创建一个权限控制器:

SpingMVC拦截器-用户登录权限控制分析_第12张图片

13、

SpingMVC拦截器-用户登录权限控制分析_第13张图片

14、写好之后实现固定的那个接口:

SpingMVC拦截器-用户登录权限控制分析_第14张图片

15、覆盖一下方法:

SpingMVC拦截器-用户登录权限控制分析_第15张图片

16、本质逻辑是判断用户有没有进行登录:

SpingMVC拦截器-用户登录权限控制分析_第16张图片

17、session通过request进行获取

SpingMVC拦截器-用户登录权限控制分析_第17张图片

17.1.var可以获得session对象:

SpingMVC拦截器-用户登录权限控制分析_第18张图片

17.2 获取谁啊!获取user,返回的是user对象

SpingMVC拦截器-用户登录权限控制分析_第19张图片 17.3 强转之后做判断:

SpingMVC拦截器-用户登录权限控制分析_第20张图片

 17.4 如果判断没有登录,这里跳转,这里我要设置重定向命令:

 

17.5 重定向

SpingMVC拦截器-用户登录权限控制分析_第21张图片17.6 内部requestContextPath,这个可以获取外部名称

SpingMVC拦截器-用户登录权限控制分析_第22张图片

17.7 设置request,login.jsp 

SpingMVC拦截器-用户登录权限控制分析_第23张图片

 17.8 你想要这东西,你还得return false 最终不放行

SpingMVC拦截器-用户登录权限控制分析_第24张图片

 17.9 如果不是null,就可以实现放行

SpingMVC拦截器-用户登录权限控制分析_第25张图片

 17.10 写完这些之后,可以进行相应的配置

 17.11 找到springMVC,将包进行相应的配置

SpingMVC拦截器-用户登录权限控制分析_第26张图片

18、内部inter

19、把之前放的路径放到这里;

SpingMVC拦截器-用户登录权限控制分析_第27张图片

19.1 配完之后,我们把他发布一下看一下效果

SpingMVC拦截器-用户登录权限控制分析_第28张图片

20、效果:这个拦截器,跳转到登录页面已经完成了

SpingMVC拦截器-用户登录权限控制分析_第29张图片

SpingMVC拦截器-用户登录权限控制分析_第30张图片

21、-------------------接下来实现登录操作

21.1 登录功能比较简单了,表单输入密码和用户名,实现登录:。如果不正确,跳回到我们的登录页面:

22、先找到表单,这里有表单传送数据表单

SpingMVC拦截器-用户登录权限控制分析_第31张图片

22.1 设置好路径的方法:接受表单发送过来的数据,这里数据比较少: 

SpingMVC拦截器-用户登录权限控制分析_第32张图片

22.2 login执行login方法,并把他返回为一个user对象

SpingMVC拦截器-用户登录权限控制分析_第33张图片

 22.3 之后我再对其进行判断,对其进行session的注入,看到产生形参,我就把session给你 

SpingMVC拦截器-用户登录权限控制分析_第34张图片22.4 session的对象就是user

SpingMVC拦截器-用户登录权限控制分析_第35张图片

22.5 传递完值之后,跳转页面 

SpingMVC拦截器-用户登录权限控制分析_第36张图片

 22.6 如果登录失败去那跳:继续跳到我们的jsp页面

SpingMVC拦截器-用户登录权限控制分析_第37张图片

 22. 7 alt + insert 将方法快速实现一下:

SpingMVC拦截器-用户登录权限控制分析_第38张图片

 其他

SpingMVC拦截器-用户登录权限控制分析_第39张图片

 22.8 把user给返回一下:同时把username和password的数据传输一下

SpingMVC拦截器-用户登录权限控制分析_第40张图片

22.9上面红色标记实现一下方法,alt + insert ,然后实现一下Dao层,点旁边的绿色按钮

SpingMVC拦截器-用户登录权限控制分析_第41张图片 22.10 找Dao层进行实现:

SpingMVC拦截器-用户登录权限控制分析_第42张图片

 22.11 Dao层用jdbc模板,然后你再接收一下实体SpingMVC拦截器-用户登录权限控制分析_第43张图片

 22.12 接收一个实体:

SpingMVC拦截器-用户登录权限控制分析_第44张图片

22.13 后面是一个User.class字节码类型 

SpingMVC拦截器-用户登录权限控制分析_第45张图片

22.14 再后面是我们的实参username和password

SpingMVC拦截器-用户登录权限控制分析_第46张图片

22.15 这个方法,给我们的返回值返回一下:

SpingMVC拦截器-用户登录权限控制分析_第47张图片 22.16 这里面的user,我们就return一下

SpingMVC拦截器-用户登录权限控制分析_第48张图片

22.17 发布一下我们就给他return一下:

SpingMVC拦截器-用户登录权限控制分析_第49张图片

23、出现了bug,根本就过不去

SpingMVC拦截器-用户登录权限控制分析_第50张图片

24、原因是将密码输入完之后,他直接去找我们的资源 

SpingMVC拦截器-用户登录权限控制分析_第51张图片

24.1 你在找资源,我在配置的时候,配置/**,对任何请求都要执行过滤操作:包括你的login

25 重点我们如何选择对那些资源进行放行:要一个exlude

SpingMVC拦截器-用户登录权限控制分析_第52张图片

26、如果你要多个资源,你可以选择多个资源进行配置:

SpingMVC拦截器-用户登录权限控制分析_第53张图片

27、放行之后,登录成功

SpingMVC拦截器-用户登录权限控制分析_第54张图片

28、密码登录SpingMVC拦截器-用户登录权限控制分析_第55张图片

29、Empty 通的结果的数据返回的异常

30、Dao层数据爆了错

SpingMVC拦截器-用户登录权限控制分析_第56张图片

==

31、这就是Dao层:

SpingMVC拦截器-用户登录权限控制分析_第57张图片

31.1

32、如果用户密码是错的,查不到user,queryForObject查询不到就会抛出异常,我最终想要转换为null,而不是想要真的异常

SpingMVC拦截器-用户登录权限控制分析_第58张图片

33、他为什么返回了真么一个异常:

34、他有这个异常为什么不抓呀! 一般情况下,我们会在业务层进行操作,统一try catch,抛出去谁调用这个try catch方法

SpingMVC拦截器-用户登录权限控制分析_第59张图片

34.1、 

SpingMVC拦截器-用户登录权限控制分析_第60张图片

34.2 catch() 获取对象:

35、try之后,return

SpingMVC拦截器-用户登录权限控制分析_第61张图片

36、把异常抛出去,这样就是空的:抛到业务层转成null

SpingMVC拦截器-用户登录权限控制分析_第62张图片

37、转成null,转成成功

SpingMVC拦截器-用户登录权限控制分析_第63张图片

你可能感兴趣的:(springBoot,java,开发语言)