当前位置: 首页 > news >正文

郴州网站建设案例哪个网站可以做结婚请柬

郴州网站建设案例,哪个网站可以做结婚请柬,平面设计学费多少钱,简历模板网站有哪些文章目录 1,介绍2, 核心流程3, 核心原理3.1 过滤器链机制3.2 主体3.3 认证3.4 授权3.5 流程图4, 核心对象4.1 UserDetailsService 接口4.2 PasswordEncoder 接口4.3 hasAuthority方法4.4 hasAnyAuthority方法4.5 hasRole方法4.5 hasAnyRole方法5, 核心注解5.1 @PreAuthorize5.1…

文章目录

    • 1,介绍
    • 2, 核心流程
    • 3, 核心原理
      • 3.1 过滤器链机制
      • 3.2 主体
      • 3.3 认证
      • 3.4 授权
      • 3.5 流程图
    • 4, 核心对象
      • 4.1 UserDetailsService 接口
      • 4.2 PasswordEncoder 接口
      • 4.3 hasAuthority方法
      • 4.4 hasAnyAuthority方法
      • 4.5 hasRole方法
      • 4.5 hasAnyRole方法
    • 5, 核心注解
      • 5.1 @PreAuthorize
        • 5.1.1 在启动类上开启注解
        • 5.1.2 在方法上使用注解
      • 5.2 @PostAuthorize
        • 5.2.1 启动类上开启注解
        • 5.2.2 方法上使用注解
      • 5.3 @PostFilter
        • 5.3.1 实体类
        • 5.3.2 在方法上使用注解
        • 5.3.3 访问接口
      • 5.4 @PreFilter
        • 5.4.1 在方法上使用注解
      • 5.5 @Secured
    • 6, 使用步骤
      • 6.1 导入依赖
      • 6.2 创建项目
      • 6.3 测试
      • 6.4 自定义用户名和密码
      • 6.5 More...

1,介绍

Spring 是非常流行和成功的 Java 应用开发框架,Spring Security 正是 Spring 家族中的 成员。Spring Security 基于 Spring 框架,提供了一套 Web 应用安全性的完整解决方 案。 正如你可能知道的关于安全方面的两个主要区域是“认证”和“授权”(或者访问控 制),一般来说,Web 应用的安全性包括用户认证(Authentication)和用户授权 (Authorization)两个部分,这两点也是 Spring Security 重要核心功能。

Spring Security 是 Spring 家族中的一个安全管理框架,实际上,在 Spring Boot 出现之 前,Spring Security 就已经发展了多年了,但是使用的并不多,安全管理这个领域,一直 是 Shiro 的天下。 相对于 Shiro,在 SSM 中整合 Spring Security 都是比较麻烦的操作,所以,Spring Security 虽然功能比 Shiro 强大,但是使用反而没有 Shiro 多(Shiro 虽然功能没有 Spring Security 多,但是对于大部分项目而言,Shiro 也够用了)。

自从有了 Spring Boot 之后,Spring Boot 对于 Spring Security 提供了自动化配置方 案,可以使用更少的配置来使用 Spring Security。 因此,一般来说,常见的安全管理技术栈的组合是这样的:

• SSM + Shiro
• Spring Boot/Spring Cloud + Spring Security

2, 核心流程

权限的实现方式千千万,又有各种不同的权限模型,然而归结到代码上,无非两种:

  1. 基于 URL 地址的权限处理
  2. 基于方法注解的权限处理

Spring Security主要是从两个方面解决安全性问题:

  1. web请求级别:使用Servlet规范中的过滤器(Filter)保护Web请求并限制URL级别的访问。
  2. 方法调用级别:使用Spring AOP保护方法调用,确保具有适当权限的用户才能访问安全保护的方法(如:@PreAuthorize 注解)。

Spring Security两大重要核心功能:用户认证(Authentication)和用户授权(Authorization)。

  1. 用户认证:验证某个用户是否为系统中的合法主体,也就是说用户能否访问该系统。用户认证一般要求用户提供用户名和密码。系统通过校验用户名和密码来完成认证过程。
  2. 用户授权:验证某个用户是否有权限执行某个操作。在一个系统中,不同用户所有的权限是不同的。比如对一个文件来说,有的用户只能进行读取,有的用户既能读取,又能修改。一般来说,系统会为不同的用户分配不同的角色,而每个角色则对应一系列的权限。

3, 核心原理

3.1 过滤器链机制

Spring Security最核心的是过滤器链,也就是一组过滤器(Filter),所有的访问服务的请求都会经过spring security的过滤器,服务的响应也会经过spring security的过滤器再返回给客户端,并且这些过滤器在系统启动时springboot会自动都配置完成。

Spring Security 在基于Servlet应用中,其底层是采用了Filter机制实现了对请求的认证、授权和漏洞防御等功能。
简单来说,可以理解为给Servlet设置一些Filters,这些Filters就构成了一个FilterChain。
每次当请求进来时,首先会被FilterChain中的Filters 依次捕获得到,每个Filter可以对请求进行一些预处理或对响应进行一些后置处理,最后才会到达Servlet。

3.2 主体

英文单词:principal
使用系统的用户或设备或从其他系统远程登录的用户等等。简单说就是谁使用系 统谁就是主体。

3.3 认证

英文单词:authentication
权限管理系统确认一个主体的身份,允许主体进入系统。简单说就是“主体”证 明自己是谁。

3.4 授权

英文单词:authorization
将操作系统的“权力”“授予”“主体”,这样主体就具备了操作系统中特定功 能的能力。所以简单来说,授权就是给用户分配权限。

3.5 流程图

在这里插入图片描述

  1. UsernamePasswordAuthenticationFilter: 用于对/login的POST请求做拦截,校验表单中的用户名和密码。
  2. ExceptionTranslationFilter: 异常过滤器,用来处理在认证授权过程中抛出异常。
  3. FilterSecurityInterceptor:是一个方法级的权限过滤器,位于过滤器链的最底部。

4, 核心对象

4.1 UserDetailsService 接口

若需要从数据库中获取用户名和密码,则需要把查询数据库的过程写在这个接口里。
当什么也没有配置的时候,账号和密码是由 Spring Security 定义生成的。而在实际项目中 账号和密码都是从数据库中查询出来的。 所以我们要通过自定义逻辑控制认证逻辑。
如果需要自定义逻辑时,只需要实现 UserDetailsService 接口即可

4.2 PasswordEncoder 接口

在密码的处理上,需要进行编解码器,该接口实现对密码进行加密。

4.3 hasAuthority方法

判断当前主体是否有指定的权限,有返回true,否则返回false
该方法适用于只拥有一个权限的用户。
1. 修改配置类
在配置类中设置当前主体具有怎样的权限才能访问。

@Override
protected void configure(HttpSecurity http) throws Exception {//注销的配置http.logout().logoutUrl("/logout") //注销时访问的路径.logoutSuccessUrl("/logoutSuccess").permitAll(); //注销成功后访问的路径//配置没有权限的跳转页面http.exceptionHandling().accessDeniedPage("/error.html");http.formLogin().loginPage("/login.html") //设置自定义登陆页面.loginProcessingUrl("/usr/login") //登陆时访问的路径.defaultSuccessUrl("/index").permitAll() //登陆成功后跳转的路径.and().authorizeRequests().antMatchers("/","/add","/user/login").permitAll() //设置可以直接访问的路径,取消拦截//1.hasAuthority方法:当前登陆用户,只有具有admin权限才可以访问这个路径.antMatchers("/index").hasAuthority("admin").anyRequest().authenticated().and().csrf().disable()
http://www.yayakq.cn/news/697970/

相关文章:

  • 重庆网站建设公司是什么网站开发方案怎么写
  • 北京建网站报价中国空间站简笔画
  • 基于php的电商网站开发梅州建站电话
  • 佛山网站建设那些网站是vue做的
  • 专业网站建设机构如何用html制作网页
  • 建设部网站官网查询营销组合策略
  • 搭建网站的步骤wordpress局域网外网访问不了
  • 有什么做任务的网站吗抖音同城推广
  • 池州专业网站建设怎么样绍兴网站设计公司
  • 织梦网站搬迁手机网站开发软件有哪些
  • 漳州优化网站建设怎么查域名服务商
  • 建网站详细步骤广告公司叫什么名字好
  • 扶贫网站建设的意义网站建设与管理学的是什么
  • 做网站的专业术语a5网站诊断
  • 做3d同人的网站是什么门户网站后台管理系统
  • 东营微信开发网站建设广告投放这个工作难不难做
  • 长沙网站外包公司吗岱山县网站建设
  • 大连公司注册网站建筑英才招聘官网
  • wordpress 建网站福州移动网站建设
  • 社交营销可以用于网站制作行业吗学网站开发好找工作吗
  • 网站怎么发内容优化哈尔滨网站建站模板
  • 网络初始网站企业基本注册信息查询单
  • 怎么用2级目录做网站哪些网站用天平做logo
  • 公共体育课程网站建设手机网站注册域名
  • 建设银行手机版官方网站下载深圳网域官网
  • 怎样让百度收取我的网站网站开发中设置会员等级
  • ui做网站流程个人设计师的网站
  • 优秀网站设计欣赏国内网站开发项目流程设计
  • 江苏省建设厅官方网站公式公告西安h5网站建设
  • 云服务器做的网站需要备案h5网站制作案例分析