Springboot安全框架整合SpringSecurity的示例分析
发表于:2025-01-19 作者:千家信息网编辑
千家信息网最后更新 2025年01月19日,这篇文章主要介绍了Springboot安全框架整合SpringSecurity的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
千家信息网最后更新 2025年01月19日Springboot安全框架整合SpringSecurity的示例分析
这篇文章主要介绍了Springboot安全框架整合SpringSecurity的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
1.工业级安全框架介绍
Spring Security基于Spring开发,项目中如果使用Spring作为基础,配合Spring Security做权限更加方便,而Shiro需要和Spring进行整合开发。因此作为spring全家桶中的Spring Security在java领域很常用。
2.建议搭建Spring Security环境
2.1在pom.xml中添加相关依赖
4.0.0 org.example springsecurityReview 1.0-SNAPSHOT spring-boot-dependencies org.springframework.boot 2.5.4 org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-security org.springframework.boot spring-boot-starter-thymeleaf
2.2创建Handler类
package com.example.controller;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.GetMapping;@Controllerpublic class Handler { @GetMapping("/index") public String index(){ return "index"; }}
2.3创建简单的html和配置相关thymeleaf的路径
2.4最后再加个启动类,那么我们的整合测试就完成勒
package com.example;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplicationpublic class Application { public static void main(String[] args) { SpringApplication.run(Application.class,args); }}
2.5成果展示 用户名默认user,密码则随机生成的这串数字
3.进阶版使用
3.1用户名和密码自定义
3.2在config包下创建Encoder进行密码的校验和转码操作
将密码转成字符串形式,并通过match方法惊醒校验。
3.3赋予账号角色权限
package com.example.config;import org.springframework.context.annotation.Configuration;import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;import org.springframework.security.config.annotation.web.builders.HttpSecurity;import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;@Configurationpublic class SecurityConfig extends WebSecurityConfigurerAdapter { //角色和资源的关系 @Override protected void configure(HttpSecurity http) throws Exception { http.authorizeRequests().antMatchers("/admin").hasRole("ADMIN") .antMatchers("/index").access("hasRole('ADMIN') or hasRole('USER') ") .anyRequest().authenticated() .and() .formLogin() .loginPage("/login") .permitAll() .and() .logout() .permitAll() .and() .csrf() .disable(); } @Override protected void configure(AuthenticationManagerBuilder auth) throws Exception { auth.inMemoryAuthentication().passwordEncoder(new MyPasswordEncoder()) .withUser("user").password(new MyPasswordEncoder() .encode("000")).roles("USER") .and() .withUser("admin").password(new MyPasswordEncoder() .encode("123")).roles("ADMIN","USER"); }}
最后达到admin账号能访问admin.html和index.html
user只能访问index.html的操作
感谢你能够认真阅读完这篇文章,希望小编分享的"Springboot安全框架整合SpringSecurity的示例分析"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!
整合
密码
篇文章
安全
框架
示例
分析
权限
用户
用户名
角色
账号
开发
工业级
价值
全家
兴趣
同时
基础
字符
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络安全谈勒索病毒
网络安全模式英文怎么写
终端服务器型号
筑好网络安全要
瀚高数据库logo
学校用网络技术对大学生有用吗
dns服务器被拒绝是什么意思
服务器水冷公司
php数据库删写数据
最火爆的软件开发架构
ifix的历史数据库打开
网络安全组织管理8项内容
软件开发外包公司什么意思
一台服务器配两块网卡
学三年软件开发毕业后干什么
网络安全周图片大全
如何进后台数据库
鞍山软件开发培训学校
数据库应用实践教程2014
软件开发技术外包合同
特为科技软件开发营销策划
山西网络技术服务成交价
什么服务会导致服务器无法访问
中学生网络安全的知识竞赛
聊天室 数据库
dns服务器地址哪个好
数据库读写分离有哪些技术
myspl创建数据库代码
尚贤网络技术有限公司
黄浦区本地软件开发哪家强