栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

初识spring security

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

初识spring security

这里写目录标题
    • 1.前言
    • 2.简介
      • 2.1 什么是 spring security
      • 2.2 spring security 的优点
      • 2.3 spring security 的缺点
    • 3. spring security的第一个程序
        • 3.1 自定义pom.xml
        • 3.2 定义启动类
        • 3.3 定义 yml
        • 3.4 启动相关

1.前言

我们在日常的项目开发过程中经常会开发登录认证,授权等基础功能。这些功能看上去简单,实际上也简单,但是它却在我们项目中有着举足轻重的地位,是一切业务的根本。为了统一解决这一根本问题,软件行业的巨头公司出了一些框架, 如: apache shiro, spring security, Sa-Token。那么今天我们就来聊聊 spring security。

2.简介 2.1 什么是 spring security

Spring Security 是一个功能强大且高度可定制的身份验证和访问控制框架。它是保护基于 Spring 的应用程序的事实上的标准。
Spring Security 是一个专注于为 Java 应用程序提供身份验证和授权的框架。与所有 Spring 项目一样,Spring Security 的真正强大之处在于它可以轻松扩展以满足自定义要求

spring security 的特征
对身份验证和授权的全面且可扩展的支持。
防止会话固定、点击劫持、跨站点请求伪造等攻击
Servlet API 集成
与 Spring Web MVC 的可选集成

2.2 spring security 的优点

1.提供了一套权限框架,这套框架是可行的
2.提供了很多用户身份认证功能,可以节约大量开发工作
3.提供了角色判断功能,这点既是优点又是缺点
4.提供了csrf防攻击的拦截
5.提供了oauth2.0友好的兼容模式

2.3 spring security 的缺点

1.自身提供的加密方式不友好
2.扩展难度比较大。
3.学习成本比较高

3. spring security的第一个程序 3.1 自定义pom.xml


    4.0.0

    
        spring-boot-parent
        org.springframework.boot
        2.2.10.RELEASE
    

    com.security
    security
    1.0-SNAPSHOT

    
        
            org.springframework.boot
            spring-boot-starter-web
        

        
            org.springframework.boot
            spring-boot-starter-security
        
    



3.2 定义启动类
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;

@EnableWebSecurity
@SpringBootApplication
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

@EnableWebSecurity 该注解的作用是想项目引入spring security 相关的几个配置信息类,如: WebSecurityConfiguration, SpringWebMvcimportSelector, OAuth2importSelector
WebSecurityConfiguration : 是用来自定义配置认证,授权以及 csrf相关的配置接口,在项目中你可以通过实现它来配置登录认证和授权相关的功能。
SpringWebMvcimportSelector: 是一个条件选择器,他会判断你的web服务器是不是DispatcherServlet然后再考虑会不会去引用WebMvcSecurityConfiguration,这也是 spring boot 自动装配的思想
OAuth2importSelector 当你项目中实现了 OAuth2ClientConfiguration oauth2的功能配置那么它会根据不同的web服务器引入相应的oauth2的配置类

3.3 定义 yml
server:
  port: 8088
spring:
  security:
    user:
      name: admin
      password: admin

这里我们在配置文件自定义了账号和密码,当然你也可以不自定义,当你启动的时候它会自动给你生成uuid的密码

3.4 启动相关


这样spring security就成功引用了,很简单吧!但是java的知识都是入门简单精通太难,hello word 用什么语言实现都简单

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/682551.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号