如何使用Java SpringBoot安全框架去整合Spring Security
发表于:2025-01-18 作者:千家信息网编辑
千家信息网最后更新 2025年01月18日,如何使用Java SpringBoot安全框架去整合Spring Security,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1.工业
千家信息网最后更新 2025年01月18日如何使用Java SpringBoot安全框架去整合Spring Security
如何使用Java SpringBoot安全框架去整合Spring Security,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
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的操作
看完上述内容,你们掌握如何使用Java SpringBoot安全框架去整合Spring Security的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!
整合
密码
安全
框架
方法
内容
更多
权限
用户
用户名
角色
账号
问题
开发
束手无策
为此
工业级
全家
原因
基础
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
7.0服务器人数
win10手动设置dns服务器
认证服务器不通是什么原因
本地数据库用户名
淘宝网页网站数据库表
云网络技术收费标准
雅安亮戈网络技术有限公司
厦门网络安全等级测评
用友u8怎么备份服务器
小龙猫互联网科技
粉象网络技术看准网
新技术代替数据库
未来网络技术研究中心
网络数据库开发与应用
php查找数据库
数据库原表跟结果表的区别
lol服务器网络问题
英特尔服务器处理器主频为啥都低
万方中文期刊数据库
森林碳数据库
谷歌服务器必须用无线
scopus数据库申请
交易所软件开发
微软商店的地平线5是哪个服务器
厦门网络安全等级测评
珠海世界数据库大会
中小学信息课与网络安全
泸州纵横网络技术有限公司招聘
华为网络安全部
阿里云常用的服务器系统