



下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验3C网络安全编程常用的设计模式实验报告实验截图1.通过实验回答下列问题(1)比较上述两种设计模式,找出各自的优势。前端控制器模式主要解决了将用户的请求统一管理,然后进行转发,通过转发获取指定的资源,并且可以通过这个控制器来进行日志的记录,权限的鉴定,使系统有一个统一的入口,其优势:(1)可以一个集中的访问点处理展示层的请求;(2)统一调度器统一将请求统一拦截和记录(3)可以避免重复控制层的逻辑处理;(4)可以使用一个通用逻辑处理多个请求;(5)可以分离系统的逻辑处理与视图展示;(6)前端控制器可以集中控制那些可能被复制的和带有密钥管理请求的逻辑;(7)前端控制器作为连接初始点来处理所有关联的请求拦截过滤器模式也是集中控制请求处理,主要是用来过滤一些非法请求,设置一些请求的编码或格式,将请求中的rquest信息进行过滤或添加一些请求头信息,常用的是配置统一编码或者配置cors一些非法攻击等;其优势:(1)低耦合高内聚:通过过滤管理器统一内聚了过滤链,将所有的过滤器统一聚合在一起,而之间耦合度非常低;(2)复用性高:由于有过滤链,所以可以建立很多的不同链而链中的过滤器是一样的,可以提高过滤器复用性;(3)预处理:由于用户请求可以在未进入主程序就被拦截到,所有可以提前就预处理了该用户请求的信息;(2)如何防止一个用户频繁登录某网站?利用session监听器监听每一个登录用户的登录情况。用户登录后,先去数据库查询该登录名是否存在、是否锁定,在登录名存在且非锁定的情况下,从application内置作用域对象中取出所有的登录信息,查看该登录名是否已经登录,如果登录了,就友好提示下;反之表示可以登录,将该登录信息保存在application中。用户正常退出时,我们需将该用户的登录信息从session中移除。我们可以写一个Session监听器,监听session销毁的时候,我们将登录的用户注销掉,也就是从application中移除。表示该用户已经下线了。如何防止用户绕过登录界面,直接访问资源?设一个session值,如果正确登陆后用来存储用户名,未登录则为空。以后到每个页面判断是否有这个值,如果没有或者是错的,当然就不能进入这个页面了。2.问答题(1)java中过滤器和拦截器有何区别?相同点:1、拦截器与过滤器都是体现了AOP的思想,对方法实现增强,都可以拦截请求方法。2、拦截器和过滤器都可以通过Order注解设定执行顺序不同点:1、过滤器属于Servlet级别,拦截器属于Spring级别Filter是在javax.servlet包中定义的,要依赖于网络容器,因此只能在web项目中使用。Interceptor是SpringMVC中实现的,归根揭底拦截器是一个Spring组件,由Spring容器进行管理。2、过滤器和拦截器的执行顺序不同:3、过滤器基于函数回调方式实现,拦截器基于Java反射机制实现(2)描述SpringSecurity安全框架的核心组件。1.SecurityContextHolderSecurityContextHolder它持有的是安全上下文(securitycontext)的信息。当前操作的用户是谁,该用户是否已经被认证,他拥有哪些角色权等等,这些都被保存在其中。2.SecurityContext安全上下文,主要持有Authentication对象,如果用户未鉴权,那Authentication对象将会是空的。3.Authentication鉴权对象,该对象主要包含了用户的详细信息(UserDetails)和用户鉴权时所需要的信息,如用户提交的用户名密码、Remember-meToken,或者digesthash值等,按不同鉴权方式使用不同的Authentication实现。4.GrantedAuthority该接口表示了当前用户所拥有的权限(或者角色)信息。这些信息有授权负责对象AccessDecisionManager来使用,并决定最终用户是否可以访问某资源(URL或方法调用或域对象)。5.UserDetails这个接口规范了用户详细信息所拥有的字段,譬如用户名、密码、账号是否过期、是否锁定等。6.UserDetailsService这个接口只提供一个接口loadUserByUsername(Stringusername),这个接口非常重要,一般情况我们都是通过扩展这个接口来显示获取我们的用户信息,用户登录时传递的用户名和密码也是通过这里这查找出来的用户名和密码进行校验,但是真正的校验不在这里,而是由AuthenticationManager以及AuthenticationProvider负责的,需要强调的是,如果用户不存在,不应返回NULL,而要抛出异常UsernameNotFoundException7.AuthenticationManagerAuthenticationManager(接口)是认证相关的核心接口,也是发起认证的出发点,因为在实际需求中,我们可能会允许用户使用用户名+密码登录,同时允许用户使用邮箱+密码,手机号码+密码登录,甚至,可能允许用户使用指纹登录(还有这样的操作?没想到吧),所以说AuthenticationManager一般不直接认证,AuthenticationManager接口的常用实现类ProviderManager内部会维护一个List<AuthenticationProvider>列表,存放多种认证方式,实际上这是委托者模式的应用(Delegate)。8、DaoAuthenticationProviderAuthenticationProvider最最最常用的一个实现便是DaoAuthenticationProvider。顾名思义,Dao正是数据访问层的缩写,也暗示了这个身份认证器的实现思路。主要作用:它获取
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 数学-2025年3月金丽衢十二校高三第二次联考试题和解析
- 车辆行驶安全培训
- 脑中风病人的康复护理常规
- 连锁企业采购流程
- 金陵中学2024-2025学年下学期高三物理试题调研测试卷含解析
- 广西电力职业技术学院《大数据计量经济分析》2023-2024学年第二学期期末试卷
- 2024-2025学年辽宁省盘锦市二中高三下期中考试(英语试题文)含解析
- 高层楼地下连续墙施工方案
- 山东省青岛第二中学2025年高三第四次模拟物理试题含解析
- 浙江建设职业技术学院《商业摄影》2023-2024学年第二学期期末试卷
- 2025年双向转诊性合作协议书
- 股骨颈置换术后护理
- 2025年云南中烟工业有限责任公司招聘(430人)笔试参考题库附带答案详解
- 2022电力工程电缆隧道通风及照明安装施工作业指导书
- 2025年安徽林业职业技术学院单招职业技能测试题库及答案(考点梳理)
- 18 文言文二则 铁杵成针 教学设计-2023-2024学年四年级语文下册统编版
- 2024年中小学思政课“名师工作室”和班主任“名师工作室”建设实施方案
- 2024-2025中考英语八大时态混合真题
- 2024年北京电子科技职业学院高职单招语文历年参考题库含答案解析
- DB32T-桥梁轻量化监测系统建设规范
- DG-TJ 08-2048-2024 民用建筑电气防火设计标准
评论
0/150
提交评论