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

spring security权限问题

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

    引入jar

  2. extends WebSecurityConfigurerAdapter 用来配置登陆和权限

  3. configure(HttpSecurity http) 覆盖这个方法

  4. //配置授权相关的
    .authorizeRequests ()
    //任何请求
    .anyRequest()
    //要求授权后可以访问
    .authenticated();

  5. spring security 的实现原理,是一系列的filter。 UsernamePasswordAuthenticationFilter 用于表单的用户名和密码的验证,用于处理exception的ExceptionTranslationFilter 。最后的过滤器这个之后就是直接访问我们的其你去了FilterSecurityInterceptor 。

  6. 因为我们要提交用户名密码,所以spring有个专门处理这个的接口。UserDetailsService 。

  7. 如何自定义用户获取信息的,如何校验,密码的加密解密 UserDetailService 主要是根据String 的用户名,获取相对应的密码。无论是从哪里查

  8. UserDetail 可以处理用户的锁定,用户的失效,密码过期问题。

  9. 自己设置登陆页面 http
    //.httpBasic()

           .formLogin()//自己的登陆页面。如果是springboot项目,这个地址是一个mapping的地址。在mapping中设置跳转的html也就是mvc的模式。.loginPage("/homeLogin")// 这个是登陆页面提交的mapping地址。其实也就是UserNamePassword 那个filter 默认处理的地址是 /login,设置后,就是新的这个地址,filter会自动处理。拿到username和password等等,以及之后的流程。.loginProcessingUrl("/userLogin").and()//配置授权先关的.authorizeRequests ()//因为下面几行的访问限制是所有的路径,所以这块是放行登陆页面,如果不放行,会一直请求登陆页面,但是又没有权限,也就是循环请求了,浏览器会报重定向次数过多。.antMatchers("/homeLogin").permitAll()//任何请求.anyRequest()//要求授权后可以访问.authenticated().and()//这个如果不配置。在新版的security中,登陆页面输入用户名和密码提交会一直刷新登陆页面。所以这是必须配置的,让这个安全配置失效.csrf().disable();
    
  10. 在上面这些配置下,完成自定义登陆页面。可以在输入正确的用户密码的情况下,请求mapping。如果错误,暂时没有定义错误页面,因为别的页面没有权限,还是会跳转到登陆页面

相关文章:

spring security权限问题

org.springframework.boot spring-boot-starter-security 引入jar extends WebSecurityConfigurerAdapter 用来配置登陆和权限 configure(HttpSecurity http) 覆盖这个方法 //配置授权相关的 .authorizeRequests () //任何请求 .anyRequest() //要求授权后可以访问 .authen…...

mysql 8.0.22安装

mysql8.0.22安装1. 配置my.ini2. 添加环境变量3. 安装mysql3.1 mysql初始化3.2 安装mysql服务3.3 启动mysql服务4. 连接数据库修改连接数据库的密码前提:已经从官网下载mysql8.0.22安装包并解压(下载地址:https://dev.mysql.com/downloads/in…...

Mysql系列:Mysql5.7编译安装

系统环境:Centos7 1:下载mysql源码包 https://dev.mysql.com/downloads/mysql/5.7.html downloads 选择MySQL Community Server>source_code>Generic Linux (Architecture Independent), Compressed TAR Archive -> 选择需要的mysql版本&…...

设备树(配合LED驱动说明)

目录 一、起源 二、基本组成 三、基本语法 四、特殊节点 4.1 根节点 4.2 /memory 4.3 /chosen 4.4 /cpus 多核CPU支持 五、常用属性 5.1 phandle 5.2 地址 --------------- 重要 5.3 compatible --------------- 重要 5.4 中断 --------------- 重要 5.5 …...

(二十六)大白话如何从底层原理解决生产的Too many connections故障?

今天我们继续讲解昨天的那个案例背景,其实就是经典的Too many connections故障,他的核心就是linux的文件句柄限制,导致了MySQL的最大连接数被限制,那么今天来讲讲怎么解决这个问题。 其实核心就是一行命令: ulimit -H…...

ASEMI高压MOS管60R380参数,60R380特征,60R380应用

编辑-Z ASEMI高压MOS管60R380参数: 型号:60R380 漏极-源极电压(VDS):600V 栅源电压(VGS):20V 漏极电流(ID):11A 功耗(PD&#x…...

Python期末试卷

《Python程序设计基础》期末试题 班级 学号 姓名 一.选择题(须知:答案写到下方的表格中,其它一律无效.每题2分,共40分) 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 1.在Python交互…...

Linux | 网络通信 | http协议介绍 | cookie策略讲解

文章目录url统一资源定位符http协议介绍GET vs POSThttp状态码http常见headercookie session上篇博客定制了一个协议,该协议用来进行简单的计算,其包含了数据的序列化和反序列化,编码和解码的定制,并且该协议基于TCP通信&#xf…...

招投标系统简介 招投标系统源码 java招投标系统 招投标系统功能设计

项目说明 随着公司的快速发展,企业人员和经营规模不断壮大,公司对内部招采管理的提升提出了更高的要求。在企业里建立一个公平、公开、公正的采购环境,最大限度控制采购成本至关重要。符合国家电子招投标法律法规及相关规范,以及…...

winapi获取和修改camera raw界面元素数据

camera raw 界面如下: 需求就是根据 windows api 来操作界面右边的色温、色调、曝光等属性,进而对图片进行调色。根据 spy 捕获的窗口信息,理论上是可以拿到并修改值的。 根据 class 可以先拿到窗口句柄: #define CAMERA_RAW_CLA…...

C++问答汇总_2023自用

C是一种通用编程语言,具有高级抽象、强类型和编译性能等特点。C语言具有许多特性,包括面向对象编程、模板、多态、运算符重载等等。它广泛应用于各种领域,如系统软件、嵌入式系统、游戏开发、科学计算等等。 1、C11相对于C98的新特性&#xf…...

IDA 实战--(2)熟悉工具

布局介绍 软件启动后会 有几个选项,一般直接选择Go 即可 之后的工作台布局如下 开始分析 分析的第一个,将PE 文件拖入工作区 刚开始接触,我们先保持默认选项,其它选项后面会详细讲解,点击OK 后,等待分析…...

Deep Unsupervised Learning using Nonequilibrium Thermodynamics论文翻译学习

Deep Unsupervised Learning using Nonequilibrium Thermodynamics Author: Jascha Sohl-Dickstein Link: http://proceedings.mlr.press/v37/sohl-dickstein15.pdf Score: ⭐️⭐️⭐️⭐️⭐️ Status: Done Type: Academic Journal 备注: 首篇扩散模型论文 A central prob…...

使用Autoware标定工具包联合标定相机和激光雷达

前面文章介绍了,安装autoware标定工具包、ros驱动usb相机、robosense-16线激光雷达的使用,本文记录使用Autoware标定工具包联合标定相机和激光雷达的过程。1.ros驱动相机,启动相机;启动激光雷达2.联合录制bag包rosbag record -a 参…...

了解线程安全

线程安全是多线程的重点和难点。 线程安全概念 线程安全:在多线程的各种随机调度顺序下,代码没有bug,都能够符合预期的方式来执行,此时认为线程安全 线程不安全:如果在多线程随机调度下代码出现bug,此时…...

【git】git版本控制

目录 1.在合适的位置打开bush,创建仓库 2.检查:跳转到当前文件夹,显示当前文件夹的相对路径 3.初始化 4.创建一个文本文件readme.txt 5.手动向readme文件中添加一些内容 6.把文件添加到暂存区 7.把文件提交到git仓库 8.手动修改readme.txt文件 9.查看当前…...

模电学习7. 三极管特性曲线与静态工作点

模电学习7. 三极管特性曲线与静态工作点一、三极管的伏安特性曲线1. 三极管的伏安特性曲线2. 三极管的静态工作点二、合适的静态工作点选择1. 合适静态工作点条件2. 静态工作点的确定三、使用立创EDA仿真查看静态工作点1. 搭建如下图所示测试电路2. 点击菜单仿真、仿真设置3. 运…...

LeetCode题解:633. 平方数之和,双指针,JavaScript,详细注释

原题链接: https://leetcode.cn/problems/sum-of-square-numbers/ 解题思路: a和b一定是000到c\sqrt cc​之间的某个值。将a的初始值设为0。b的初始值设为c\sqrt cc​,b必须为整数。a和b向中间逼近,查找满足条件的值。由于a和b是…...

Keil编译头文件iec_std_functions.h错误解决

Keil 编译IEC61131-3库,头文件,大量出现以下错误; cast to type ? is not allowed compiling resource1.c... ..\PLC\rts\matiec\lib\C\iec_std_functions.h(192): error: #119: cast to type "TIME" is not allowed…...

2022 赣育杯 CTF --- Crypto Lost_N wp

文章目录前言题目解题过程解题代码前言 这是去年江西省赛一道有点小坑的密码题,当时没做出来,今天回想起来重新做一下并且记录一下。 题目 Lost_N.py import gmpy2 from Crypto.Util.number import * # part1 flag bSangFor{} d getPrime(435) cou…...

5个强力破解方案:BetterJoy手柄全场景PC适配指南

5个强力破解方案:BetterJoy手柄全场景PC适配指南 【免费下载链接】BetterJoy Allows the Nintendo Switch Pro Controller, Joycons and SNES controller to be used with CEMU, Citra, Dolphin, Yuzu and as generic XInput 项目地址: https://gitcode.com/gh_mi…...

开源可部署+零代码:春联生成模型-中文-base WebUI快速体验指南

开源可部署零代码:春联生成模型-中文-base WebUI快速体验指南 春节临近,想为家里增添一份独特的年味,却苦于没有文采写不出好对联?或者,作为内容创作者,想批量生成一些创意春联用于营销活动?今…...

9篇8章2节:MIMIC 数据库的 CITI 注册与课程选择(2026年版)

作为包含敏感患者信息的公共数据库,MIMIC 对使用权限的申请设置了严格的伦理与合规门槛,其核心目的在于保障患者隐私、维护学术诚信。其中,通过 CITI Program 的人体研究伦理认证是不可或缺的前置条件,也是衡量研究人员是否具备合规研究素养的关键标准。本文将详细拆解 202…...

Ostrakon-VL-8B多模态运维监控实战:智能日志分析与故障预警

Ostrakon-VL-8B多模态运维监控实战:智能日志分析与故障预警 最近和几个做运维的朋友聊天,大家普遍都在吐槽一件事:每天上班就像在“看监控”和“查日志”之间来回切换。服务器告警一响,就得一头扎进海量的日志文件里,…...

新手零基础入门:借助快马AI轻松理解并创建你的无名小站

作为一个刚入门编程的新手,想要搭建一个属于自己的"无名小站"确实会感到无从下手。最近我在InsCode(快马)平台上尝试了这个项目,整个过程出乎意料地顺利,下面分享我的学习心得。 项目结构规划 首先需要明确网站的基本框架。我的无名…...

nbdev终极指南:如何用Jupyter Notebook创建专业级软件项目

nbdev终极指南:如何用Jupyter Notebook创建专业级软件项目 【免费下载链接】nbdev Create delightful software with Jupyter Notebooks 项目地址: https://gitcode.com/gh_mirrors/nb/nbdev nbdev是一个革命性的笔记本驱动开发平台,让开发者能够…...

BigDL-2.x与Spark MLlib集成:传统机器学习与深度学习的完美融合

BigDL-2.x与Spark MLlib集成:传统机器学习与深度学习的完美融合 【免费下载链接】BigDL-2.x BigDL: Distributed TensorFlow, Keras and PyTorch on Apache Spark/Flink & Ray 项目地址: https://gitcode.com/gh_mirrors/bi/BigDL-2.x BigDL-2.x是一个强…...

突破百度网盘限速:BaiduPCS-Web技术普惠解决方案

突破百度网盘限速:BaiduPCS-Web技术普惠解决方案 【免费下载链接】baidupcs-web 项目地址: https://gitcode.com/gh_mirrors/ba/baidupcs-web 在数字化时代,云存储已成为个人与企业数据管理的基础设施,而百度网盘作为国内用户基数最大…...

容器编排:Docker Compose与Kubernetes的适用场景

容器编排:Docker Compose与Kubernetes的适用场景 在容器化技术蓬勃发展的今天,容器编排工具的选择直接影响着应用的部署效率、运维复杂度和系统稳定性。Docker Compose与Kubernetes作为两大主流工具,分别在单机环境与分布式集群领域展现出独特优势。本文将结合真实项目经验…...

STM32标准库开发入门与GPIO控制实战

1. 从点灯开始:STM32标准库开发入门指南 作为一名嵌入式开发者,我始终记得第一次点亮LED时的兴奋感。那闪烁的小灯不仅标志着程序的成功运行,更代表着嵌入式世界的入门仪式。本文将带你从最基础的STM32标准库开发入手,逐步深入理解…...