美文网首页Spring-Boot程序员Java学习笔记
Spring Boot总结(8)---Spring Securi

Spring Boot总结(8)---Spring Securi

作者: 18587a1108f1 | 来源:发表于2017-10-11 19:25 被阅读648次

    Spring Security简介

    Spring Security是Spring提供的对于项目的安全框架。以前使用大量的xml配置来实现,而Spring Boot中基于java配置实现Spring Security功能。
    安全框架有两个重要概念:认证授权认证即确认用户可以访问当前系统,授权即确定用户在当前系统下所拥有的功能权限。 通俗点讲,比如你去豪华酒店吃饭,认证就是你有门票,能进入饭店,授权就是规定了你进了酒店能在哪些区域溜达,不能在哪些区域溜达。

    传统Spring Security配置

    (1)DelegatingFilterProxy

    Spring Security提供过滤器Filter来实现安全功能,我们可以注册一个特殊的DelegatingFilterProxy即可。代码实现AbstractSecurityWebApplicationInitializer可以开启支持:

    public class AppInitializer extends AbstractSecurityWebApplicationInitializer{
    }
    
    (2)配置

    Spring Security通过继承WebSecurityConfigurerAdapter,重写其configure方法来配置相关的安全配置:

    @Configuration
    @EnableWebSecurity
    public class WebSecurityConfig extends WebSecurityConfigurerAdapter{
    
       //通过重写此方法来实现请求授权
        @Override
        protected void configure(HttpSecurity http)throws Exception{
            super.configure(http);
        }
    
       //通过重写此方法来定制用户权限
        @Override
        protected void configure(AuthenticationManagerBuilder auth)throws Exception{
            super.configure(auth);
        }
    
        @Override
        public void configure(WebSecurity web)throws Exception{
            super.configure(web);
        }
    }
    

    具体的重写方式这里略过不再演示,网上有很多现成的例子。

    Spring Boot对于Spring Security的支持

    Spring Boot通过 SecurityAutoConfigurationSecurityProperties 完成了配置。
    我们可以获得的自动配置如下:
    (1) 自动配置一个内存用户,账号为user,密码在启动时控制台出现
    (2) 忽略/css/**,/images/,等静态文件的拦截
    (3) 自动配置的securityFilterChainRegistration的Bean

    我们需要自己拓展配置时,只需要配置类即冲WebSecurityConfiguererAdapter即可,无需使用@EnableWebSecurity注解

    文主经过尝试,发现Spring Security并没有那么好用,条条框框很多,很多实现需要按照它的定义好的方式来做,不如自己写Filter更加的直接好用。
    贴一篇 非常非常详细易懂 的Spring Boot 结合Spring Security 实战的博文 :http://blog.csdn.net/u012702547/article/details/54319508

    上文写的非常好,有兴趣的可以跟步阅读编码尝试,博主也附了源码。

    小tips:Spring Security的使用,有点仁者见仁智者见智,建议根据个人情况以及项目情况来选择使用。

    相关文章

      网友评论

        本文标题:Spring Boot总结(8)---Spring Securi

        本文链接:https://www.haomeiwen.com/subject/jnmiyxtx.html