使用Spring Boot 2.0的Spring Security:保护端点

到目前为止,在以前的文章中,我们已经使用默认的spring安全配置对端点和控制器进行了安全保护。

当Spring Security在类路径上时,默认情况下自动配置会保护所有端点。

当涉及到复杂的应用程序时,我们需要每个端点使用不同的安全策略。 我们需要配置哪些端点应受到保护,哪些类型的用户应能够访问该端点以及应公开的端点。

一个很好的例子是端点,它将向用户显示欢迎消息。

package com.gkatzioura.security.securityendpoints.controller;import java.util.ArrayList;
import java.util.List;import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;@RestController
public class IndexController {@GetMapping(path = "welcome")public String getMessage() {return "Welcome to the application";}
}

关于您的应用程序已经受到保护的事实,您需要提供对该端点的公共访问。

为了做到这一点,spring为我们提供了HttpSecurity类。 通过扩展WebSecurityConfigurerAdapter我们可以配置应该保护的端点和应该是公共的端点。

因此,让我们创建WebSecurityConfigurerAdapter配置。

package com.gkatzioura.security.securityendpoints.config;import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;@Configuration
public class SecurityConfig extends WebSecurityConfigurerAdapter {@Overrideprotected void configure(HttpSecurity http) throws Exception {http.authorizeRequests().antMatchers("/welcome").permitAll().anyRequest().authenticated().and().formLogin().permitAll().and().logout().permitAll();}
}

因此,让我们通过调用authorizeRequests函数将其分为几个部分。 我们有一个http配置器,可以添加我们想要公开或保护的端点。

通过调用antMatchers函数,我们可以传递一组蚂蚁模式。 应用的功能将为在antmatchers中指定的每个端点创建一个规则。

下一个功能是anyRequest 。 验证后的规则将应用于收到的任何请求。

最后但并非最不重要的一点是spring带有默认的登录表单和默认的注销端点。 为了使登录和注销变得可行,我们必须允许访问这些端点。

因此,最终结果将是可以公开访问欢迎端点,用于登录和注销端点的预配置表单。

翻译自: https://www.javacodegeeks.com/2018/07/spring-security-boot-2-securing-endpoints.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/345331.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【渝粤题库】广东开放大学 文化活动策划与组织 形成性考核

选择题 题目: 资源的取得或者是天然形成的,或者是人的劳动与自然环境共同作用而形成的。而资源资产的形成可以有什么渠道? 题目: 资源的稀缺性决定了任何一个社会都必须通过一定的方式把有限的资源合理分配到社会的各个领域中去&…

MATLAB 显示输出数据的三种方式

1. 改变数据格式 当数据重复再命令行窗口时,整数以整形形式显示,其他值将以默认格式显示。MATLAB的默认格式是精确到小数点后4位。如果一个数太大或太小,那么将会以科学记数法的形式显示。比如: >> x100.11x 100.1100>…

发言稿开场白范文_发言稿开场白

发言稿开场白导语:无论做领导,还是做下属;无论做教师,还是搞销售;无论教育子女,还是向公众演讲;3分钟内你抓住了听众的心,一切事情就都会变得简单。1、你是否羡慕过陶渊明的人生?是啊,他归隐田园&#xff…

Matlab 语句

1. 显示输出数据的三种方式 1.1 改变数据格式 当数据重复再命令行窗口时,整数以整形形式显示,其他值将以默认格式显示。MATLAB的默认格式是精确到小数点后4位。如果一个数太大或太小,那么将会以科学记数法的形式显示。比如: &g…

.net2.0 orm_Hibernate 4.3 ORM工具

.net2.0 ormHibernate最近发布了Hibernate ORM 4.3的最终版本,它是一个基于Java的ORM框架,它还支持存储过程和实体图。 发行了ORM Tool Hibernate 4.3,实现了JPA 2.1规范,引入了该发行版的主要功能,简而言之&#xff1…

千寻和省cors精度对比_使用中海达RTK实战演示千寻cors账号对比省cors网络,验证其测量效果究竟如何...

原标题:使用中海达RTK实战演示千寻cors账号对比省cors网络,验证其测量效果究竟如何最近看到有很多的网友都在问千寻cors账号的定位服务怎么样?还在考虑要不要从省cors网络转用千寻cors网络?其实,作为用户来说&#xff…

【渝粤题库】广东开放大学 物业财税管理基础 形成性考核 (2)

选择题 题目:企业将资金以购买债券、提供借款或商业信用等形式出借给其他单位,这是一种( )的财务关系。 题目:( )是指买卖双方成交后,在双方约定的未来某一特定的时日才交割的交易市…

【渝粤题库】广东开放大学 综合英语1 形成性考核 (2)

选择题 题目: There is no ________, so we will begin with the next project. 选择一项: 题目: If a company wants to see its products ________, it should do some world market report first. 选择一项: 题目&#xff…

Probability, Matringale,Markov Chain, MCMC

一、基本知识 1. 条件概率 条件概率是指在某件事情已经发生的前提下,另一件事情在此基础上发生的概率,举例来说P(A丨B)表示B发生的基础上,A也发生的概率,基本公式为: 2. 条件期望 在上述概率下的期望我们称之为条…

html 按钮 按下 状态_科普|你身边的手动火灾报警按钮,您了解吗?

手动火灾报警按钮手动火灾报警按钮,是火灾报警系统中的一个设备类型,当建筑发生火灾时在火灾探测器没有探测到火灾的时候人员手动按下手动火灾报警按钮,报告火灾信号,向建筑所属消防控制室报火警。正常情况下当手动火灾报警按钮报…

Apache Ant 1.9.13和1.10.5发布–支持Java 11单文件源程序

我们刚刚发布了Apache Ant的1.9.13和1.10.5版本 。 与往常一样,您可以从Ant项目下载页面下载它。 这两个版本主要是错误修复版本。 但是,1.10.5版对“ java”任务进行了新的增强。 正如我之前写的那样 ,Java 11引入了一项新功能,…

【渝粤题库】广东开放大学 质量管理 形成性考核 (2)

选择题 题目:王鑫老师有什么怪癖? 题目:如果觉得某次讨论成绩不理想,也可以像单元测验那样再重新回答一次,老师会重新给分的。 题目:以下关于课程勋章的说法,哪些是“正确”的? 题目…

ubuntu按方向键出现abcd_Ubuntu Vi方向键[A [B [C [D问题解决

在ubuntu下, vi 在编辑模式下使用方向键时没有移动光标,而是在出现 [A [B [C [D 之类的字母乱码。编辑错误的话,就连退格键(Backspace键)都使用不了,只能用Delete来删除。方法一:编辑/etc/vim/vimrc.tiny文件root权限下…

【渝粤题库】陕西师范大学100200 信息技术教育应用 作业 (专升本、高起专、高起本)

一、选择题 1、人类信息技术发展的第一次飞跃发生在: A.古代社会 B.近代社会 C. 现代社会 D. 当代社会 2、计算机I/O设备指的是计算机系统的: A.控制设备; B.存储设备 C.输入/输出设…

Spring依赖注入–字段vs设置器vs构造函数注入

欢迎使用Spring Dependency Injection –字段,设置器,构造函数注入教程。 了解场注入 , 二传手注入和构造函数注入之间的区别。 借助代码示例,我们将看到使用每个示例的好处以及为什么选择一个而不是另一个。 有关Spring依赖注入…

马尔可夫蒙特卡罗 MCMC 原理及经典实现

我们在做机器学习、深度学习或自然语言处理等项目时,经常采用什么方法采样呢?大家马上会想到吉布斯 Gibbs 采样,今天我们来分享一种比较实用的采样方法:马尔可夫蒙特卡罗方法,吉布斯采样是其中的一种。 Markov chain …

【渝粤题库】陕西师范大学151212 审计理论与实务作业(专升本)

《审计理论与实务》作业一、单选题 1.注册会计师的服务是一种有偿服务,下列不能成为会计师事务所收费依据的是( )。 2.在执行审计业务时,注册会计师应当确定合理的重要性水平,下列做法正确的是( &#xff0…

les物流执行系统_【精益运营】立足智慧物流 推进仓储智能化稳步升级

近年来,“智能制造”成为制造行业的热门词汇,也成为引领物流行业发展的风向标。今年在两会中,“智能”一词首次写入报告,为传统行业改造升级、实现协同共享带来了新的发展机遇。早在2017年12月,根据公司对VMI业务整合工…

【渝粤题库】陕西师范大学163108旅行社经营与管理 作业(高起专)

陕西师范大学 内 部 题 库 教育 (yuyueshool) 编制 《旅行社经营与管理》作业 一、单选题 1、一名领导者直接领导的下属的数量叫做( )。 A、管理层次 B、管理策略 C、管理跨度 D、管理水平 2、团体包价组合中除去( …

增益比值 dB 以及 dBw-dBmv 等之详解

dB 分贝(工程应用),dB(Decibel,分贝)是一个纯计数单位,本意是表示两个量的比值大小,没有单位。在工程应用中经常看到貌似不同的定义方式(仅仅是看上去不同)。…