千家信息网

SpringBoot中怎么整合SpringSecurity

发表于:2026-11-04 作者:千家信息网编辑
千家信息网最后更新 2026年11月04日,SpringBoot中怎么整合SpringSecurity,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1.导包
千家信息网最后更新 2026年11月04日SpringBoot中怎么整合SpringSecurity

SpringBoot中怎么整合SpringSecurity,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

1.导包

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

2.测试

@RestControllerpublic class HelloController{    @GetMapping("/hello")    public String hello() {        return "Hello";    }}

访问http://localhost:8080/hello 会自动跳到login页面
默认用户名 user
默认密码在控制台显示

二 在配置文件或代码中配置security需要的用户名和密码

第一种: 在配置文件中配置

spring.security.user.name=userspring.security.user.password=123spring.security.user.roles=admin

第二种:在代码中配置

新建一个SecurityConfig .java类

@Configurationpublic class SecurityConfig extends WebSecurityConfigurerAdapter{    //去掉spring5一定要密码加密的限制    @Bean    PasswordEncoder passwordEncoder(){        return NoOpPasswordEncoder.getInstance();    }    //第二种: 在代码中配置用户名和密码    @Override    protected void configure(AuthenticationManagerBuilder auth) throws Exception    {        auth.inMemoryAuthentication()                .withUser("terry").password("123").roles("admin")                .and()                .withUser("tt").password("456").roles("user");    }}

三 配置HttpSecurity

1.接着上面的配置文件写

@Configurationpublic class SecurityConfig extends WebSecurityConfigurerAdapter{    //去掉spring5一定要密码加密的限制    @Bean    PasswordEncoder passwordEncoder(){        return NoOpPasswordEncoder.getInstance();    }    //第二种: 在代码中配置用户名和密码    @Override    protected void configure(AuthenticationManagerBuilder auth) throws Exception    {        auth.inMemoryAuthentication()                .withUser("terry").password("123").roles("admin")                .and()                .withUser("tt").password("456").roles("user");    }    //HttpSecurity配置    @Override    protected void configure(HttpSecurity http) throws Exception    {        http.authorizeRequests()                .antMatchers("/admin/**").hasRole("admin")                .antMatchers("/user/**").hasAnyRole("admin","user")                //.antMatchers("/user/**").access("hasAnyRole('user','admin')")                .anyRequest().authenticated()                .and()                .formLogin()                .loginProcessingUrl("/doLogin")                .permitAll()                .and()                .csrf().disable();//要使用postman,防止被认为是csrf攻击    }}

2.测试

@RequestMapping("/admin/hello")public String admin(){    return "Hello admin";}@RequestMapping("/user/hello")public String user(){    return "hello user";}

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。

配置 密码 代码 用户 用户名 文件 加密 帮助 测试 限制 整合 清楚 内容 对此 控制台 文章 新手 更多 知识 行业 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 科技企业和互联网企业 深圳互联网络科技有限公司 互联网 的科技创新 互联网科技革命 互联网高科技股票 互联网科技公司的市场部门 老年人脱离互联网科技的作文 互联网汽车科技小镇 互联网科技中介 顶级互联网科技成果有哪些 互联网金融科技展 西安小鹰速贷互联网科技有限公司 互联网时代的科技公司 互联网企业科技类企业如何做账 互联网科技资金流入 富国互联网金融科技混合基金 抖集互联网科技技术咨询 科技互联网行业投资研究 互联网科技自媒体灵感 互联网科技创业有什么好项目 湖北九亚互联网络科技有限公司 广州为想互联网科技有限公司 腾讯科技 互联网女皇 玉溪互联网科技怎么选 启辰互联网科技 上海乐五互联网科技有限公司 版纳互联网科技选哪家 互联网科技创新方面的资料 宁波允成互联网科技有限公司 恒生科技互联网指数十大成分股
0