第二节 给SpringBootAdmin的server端加入spring security安全控制

这篇具有很好参考价值的文章主要介绍了第二节 给SpringBootAdmin的server端加入spring security安全控制。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

本来想用一节就写完SpringBootAdmin的,但随着研究的深入发现一节应该是不够的,网上的资料也不会非常系统,官网的例子有些已经好几年没更新了,所以接下来还是系统性的来写下吧

SpringBootAdmin github地址

第一节 完成基础配置,暴露所有端点
第二节 给SpringBootAdmin的server端加入spring security安全控制
第三节 给SpringBootAdmin的clientr端加入spring security安全控制
第四节 配置SpringBootAdmin日志管理
第五节 配置SpringBootAdmin电子邮件通知
第六节 给SpringBootAdmin的client端加入jwt认证

一、加入spring security安全控制

加入依赖

<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-security</artifactId>
</dependency>

重启后,再次访问,会跳转到login页面
第二节 给SpringBootAdmin的server端加入spring security安全控制,sbvadmin-cloud,spring,java,后端

二、配置server用户名密码

这里可以通过配置文件,内存或者数据库配置用户名密码,具体可以参考下spring security的相关文档。这里我们采用比较的配置文件配置

# admin server
spring.security.user.name=server
spring.security.user.password=server

重启后,就可以用这个账号密码登录了
第二节 给SpringBootAdmin的server端加入spring security安全控制,sbvadmin-cloud,spring,java,后端登录成功后,可以看到登录的账号,但这个时候你会发现注册上来的client不见了。client端会报错如下:

at spring-boot-admin ([http://localhost:9090/instances]): 401 : [no body].

原因是server加入了安全控制,这里我们先配置SecurityConfig来实现访问。加入配置类

@Configuration(proxyBeanMethods = false)
public class SecurityConfig {
    @Bean
    protected SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
        return http.authorizeHttpRequests((authorizeRequests) -> authorizeRequests.anyRequest().permitAll())
                .csrf().disable().build();
    }
}

再次启动server,发现client已经注册上来了。但是毕竟这个配置类太过暴力,直接所有的request都permitAll,接下来可以参考官方例子SecuritySecureConfig做下修改:

@Configuration(proxyBeanMethods = false)
public class SecurityConfig {
    @Bean
    protected SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
        SavedRequestAwareAuthenticationSuccessHandler successHandler = new SavedRequestAwareAuthenticationSuccessHandler();
        successHandler.setTargetUrlParameter("redirectTo");
        successHandler.setDefaultTargetUrl("/");
        return http.authorizeHttpRequests((authorizeRequests) -> authorizeRequests
                        .requestMatchers(new AntPathRequestMatcher("/login"))
                        .permitAll()
                        .anyRequest()
                        .authenticated())
                .formLogin((formLogin) -> formLogin.loginPage("/login").successHandler(successHandler)) // <3>
                .logout((logout) -> logout.logoutUrl("/logout"))
                .httpBasic(Customizer.withDefaults())
                .csrf().disable().build();
    }
}

改动以后顺便把登录界面也优化了:
第二节 给SpringBootAdmin的server端加入spring security安全控制,sbvadmin-cloud,spring,java,后端登录以后,我们发现client又掉了,orz。接下来就需要配置下client端了。

配置client访问server的账号密码

修改client的配置文件:

# admin server accout
spring.boot.admin.client.username=server
spring.boot.admin.client.password=server

再重启client,现在client又可重新注册上来了。
第二节 给SpringBootAdmin的server端加入spring security安全控制,sbvadmin-cloud,spring,java,后端

至此server端的安全控制基本就配置完毕了。文章来源地址https://www.toymoban.com/news/detail-537019.html

到了这里,关于第二节 给SpringBootAdmin的server端加入spring security安全控制的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 安全框架Spring Security是什么?如何理解Spring Security的权限管理?

    大家好,我是卷心菜。本篇主要讲解Spring Security的基本介绍和架构分析,如果您看完文章有所收获,可以三连支持博主哦~,嘻嘻。 🎁 作者简介: 在校大学生一枚,Java领域新星创作者,Java、Python正在学习中,期待和大家一起学习一起进步~ 💗 个人主页:我是一棵卷心菜的

    2024年02月02日
    浏览(55)
  • Spring Security安全配置

    使用Spring Boot与Spring MVC进行Web开发时,如果项目引入spring-boot- starter-security依赖启动器,MVC Security 安全管理功能就会自动生效,其默认的安全配置是在SecurityAutoConfiguration和UserDetailsServiceAutoConfiguration中实现的。其中,SecurityAutoConfiguration会导入并自动化配置SpringBootWebSecurityCo

    2024年02月15日
    浏览(43)
  • Spring Security(安全框架)

    (1)Spring Security 是一个高度自定义的 安全框架 。利用Spring IoC/DI和AOP功能,为系统提供了声明式安全访问控制功能,减少了为系统安全而编写大量重复代码的工作。 (2)认证(Authentication): 应用程序确认用户身份的过程,常见认证:登录。 (3)身份(principal)/主体(

    2023年04月13日
    浏览(74)
  • 【Spring Security系列】Spring Security整合JWT:构建安全的Web应用

    在企业级开发或者我们自己的课程设计中,确保用户数据的安全性和访问控制非常重要。而Spring Security和JWT是都两个强大的工具,它俩结合可以帮助我们实现这一目标。 Spring Security提供了全面的安全功能,而JWT则是一种用于身份验证的令牌机制。 前面两个章节介绍过了Spri

    2024年04月23日
    浏览(37)
  • Spring Security 6.x 系列【28】授权服务器篇之Spring Authorization Server 1.0 入门案例

    有道无术,术尚可求,有术无道,止于术。 本系列Spring Boot 版本 3.0.4 本系列Spring Security 版本 6.0.2 本系列Spring Authorization Server 版本 1.0.2 源码地址:https://gitee.com/pearl-organization/study-spring-security-demo 在前几篇文档中,我们学习了 OAuth 2.0 协议,并使用 spring-security-oauth2-client 完成

    2024年02月12日
    浏览(40)
  • Spring Authorization Server入门 (八) Spring Boot引入Security OAuth2 Client对接认证服务

    在之前的文章中实现了一个认证服务,并且添加了一些自定义的内容,现在暂时没想到认证服务的新内容,本篇文章就先写一下客户端对接的吧,水一篇。 当用户通过客户端去访问一个受限的资源时,客户端会检测是否有登录信息,没有登录信息会重定向至认证服务器去请求

    2024年02月21日
    浏览(47)
  • 第二章(第二节):无穷小量和函数

    若 lim f(x) = 0 , 则称函数 f(x) 当 x → x 0 时是无穷小量,简称: 无穷小 。      x→ x 0 定理1. 有限多个 无穷小量的代数和仍是无穷小量 定理2. 有限多个 无穷小量的积也是无穷小量 定理3.常数与无穷小量的积也是无穷小量 定理4.有界变量与无穷小量的积是无穷小量 当 x→

    2024年02月08日
    浏览(53)
  • 【Spring Security】安全框架学习(八)

    3.0 权限系统的作用 例如一个学校图书馆的管理系统,如果是普通学生登录就能看到借书还书相关的功能,不可能让他看到并且去使用添加书籍信息,删除书籍信息等功能。但是如果是一个图书馆管理员的账号登录了,应该就能看到并使用添加书籍信息,删除书籍信息等功能

    2024年02月09日
    浏览(61)
  • 【Spring Security】安全框架学习(十二)

    6.0 其他权限校验方法 我们前面都是使用@PreAuthorize注解,然后在在其中使用的是hasAuthority方法进行校验。Spring Security还为我们提供了其它方法. 例如:hasAnyAuthority,hasRole,hasAnyRole,等。 这里我们先不急着去介绍这些方法,我们先去理解hasAuthority的原理,然后再去学习其他方法就

    2024年02月07日
    浏览(50)
  • Spring Security安全拦截基础实现

    Spring Security是基于Spring的一个安全管理框架。它相比Shiro,它的功能更丰富,社区资源也比Shiro更丰富! 1.导入Maven依赖 2.创建实体类User 3.访问数据库并验证用户密码 为了偷懒,我这里用的是Mybatis plus,哈哈哈哈 4.添加Spring Security的配置 继承WebSecurityConfigurerAdapter 类并实现

    2024年02月15日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包