SpringSecurity快速集成实战教学

SpringBoot项目中集成SpringSecurity

为了防止没有接触过的朋友看了半天不知道我讲了啥的情况出现

img

先给大家简单的介绍一下SpringSecurity

一,SpringSecurity简介

1,什么是SpringSecurity

SpringSecurity框架作为Spring家族一员。是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架。它提供了一组可以在Spring应用上下文中配置的Bean,充分利用了 Spring IoC , DI(IoC:Inversion of Control控制反转,DI:Dependency Injection 依赖注入) 和 AOP(面向切面编程) 功能,为应用系统提供声明式的安全访问控制功能,减少了为企业系统安全控制编写大量重复代码的工作。

2,SpringSecurity发展史

Spring Security 以“The Acegi Secutity System for Spring”的名字始于2003年年底。其前身为 acegi 项目。起因是Spring 开发者邮件列表中一个问题,有人提问是否考虑提供一个基于 Spring 的安全实现。限制于时间问题,开发出了一个简单的安全实现,但是并没有深入研究。几周后,Spring 社区中其他成员同样询问了安全问题,代码提供给了这些人。2004 年 1 月份已经有 20 人左右使用这个项目。随着更多人的加入,在 2004 年 3 月左右在 sourceforge中建立了一个项目。在最开始并没有认证模块,所有的认证功能都是依赖容器完成的,而 acegi 则注重授权。但是随着更多人的使用,基于容器的认证就显现出了不足。acegi 中也加入了认证功能。大约 1 年后acegi 成为 Spring子项目。在 2006 年 5 月发布了 acegi 1.0.0 版本。2007 年底 acegi 更名为Spring Security。

3,为什么要用SpringSecurity

使用SpringSecurity的原因有很多,但大部分都是发现了JavaEE的Servlet规范或EJB规范中的安全功能缺乏典型企业应用场景,同时意识到他们在WAR或EAR级别无法移植复用。因此如果你更换服务器环境,还有大量工作去重新配置你的应用程序。

而使用SpringSecurity不仅帮你解决了这些问题,也为你提供许多其他有用的,可定制的安全功能。

在应用程序对资源访问控制中的两个要点是”认证“和”授权“。这两点也是SpringSecurity重要核心功能。

敲黑板表情包 的图像结果

看完以上内容大家应该对SpringSecurity有一个初步的印象了

理论是基础,重点是如何在实践中使用

下面就来教大家快速在SpringBoot项目中集成SpringSecurity。

二,SpringSecurity快速入门Demo

1,导入依赖

下面是pom.xml文件中的依赖配置

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
		https://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<parent>
           <groupId>org.springframework.boot</groupId>
           <artifactId>spring-boot-starter-parent</artifactId>
           <version>2.2.2.RELEASE</version>
           <relativePath/> <!-- lookup parent from repository -->
 	</parent>
 	<groupId>com.xxxx</groupId>
 	<artifactId>springsecurity-demo</artifactId>
 	<version>0.0.1-SNAPSHOT</version>
 	<name>springsecurity-demo</name
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring Security是一个基于Spring框架的安全性解决方案,它提供了认证、授权和攻击防护等核心功能。在实际应用中,可以通过配置WebSecurityConfig类来完成Spring Security的登录认证。 首先,需要在WebSecurityConfig类中使用@Configuration和@EnableWebSecurity注解来启用Spring Security配置。然后,通过继承WebSecurityConfigurerAdapter类,并重写configure方法来自定义认证配置。 在configure方法中,可以通过auth.inMemoryAuthentication()方法在内存中定义用户名和密码,并指定用户角色。这里使用BCryptPasswordEncoder对密码进行加密,并使用withUser方法添加用户名和加密后的密码。 例如,可以添加用户名为admin,密码为admin123的管理员用户,并指定其角色为admin。这样,用户在登录时就需要输入正确的用户名和密码才能通过认证。 需要注意的是,实际应用中的用户数据通常是存储在数据库中,可以根据具体需求改为通过数据库查询来完成认证。 总结起来,通过配置WebSecurityConfig类,使用inMemoryAuthentication方法在内存中定义用户,并设置密码加密,可以实现Spring Security的登录认证。这是Spring Security登录认证的一个简单实战教程。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [SpringSecurity+Oauth2.0实战教程](https://blog.csdn.net/tttalk/article/details/124299825)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值