zoukankan      html  css  js  c++  java
  • spring security

    springboot +spring security 

    1.maven依赖:

        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-security</artifactId>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
    
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-test</artifactId>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.springframework.security</groupId>
                <artifactId>spring-security-test</artifactId>
                <scope>test</scope>
            </dependency>
        </dependencies>

    2.配置文件

    
    
    @Configuration
    public class SecuriltyConfig extends WebSecurityConfigurerAdapter {

    @Bean
    PasswordEncoder passwordEncoder(){
    //不加密的密码
    return NoOpPasswordEncoder.getInstance();
    }


    //自定义用户和密码,优先级大于配置文件中的
    @Override
    protected void configure(AuthenticationManagerBuilder auth) throws Exception {
    auth.inMemoryAuthentication()
    .withUser("user")
    .password("123")
    .roles("admin");
    }

    //开放静态文件
    @Override
    public void configure(WebSecurity web) throws Exception {
    web.ignoring().antMatchers("/js/***","/css/**","images/**");
    }

    //自定义登录页面
    @Override
    protected void configure(HttpSecurity http) throws Exception {
    http.authorizeRequests()
    .anyRequest().authenticated()
    .and()
    .formLogin()
    //默认的登录action名是 /login.html
    .loginPage("/login.html")
    //配置登录接口名,不配就是上面的的那个
    // .loginProcessingUrl("login")
    //登录参数
    .usernameParameter("username")
    .passwordParameter("password")
    //登录成功后的跳转,服务端跳转,url不变
    // .successForwardUrl("/s")
    //登录成功后的跳转,重定向到之前的请求
    .defaultSuccessUrl("/hello")
    .permitAll()
    .and()
    //配置退出页的路由和页面
    .logout()
    .logoutUrl("aaa")
    .logoutSuccessUrl("/login.html")
    .deleteCookies()
    //clearAuthentication 和 invalidateHttpSession 分别表示清除认证信息和使 HttpSession 失效,默认可以不用配置,默认就会清除
    .and()
    .csrf().disable();

    }
    }
     
  • 相关阅读:
    Concurrent
    Java多线程状态切换
    Java中volatile如何保证long和double的原子性操作
    协程与线程
    线程饥饿
    线程活锁
    线程死锁
    Java Thread之start和run方法的区别
    ThreadLocal内存泄漏
    interrupt和interrupted和isInterrupted的区别
  • 原文地址:https://www.cnblogs.com/qq1069284034/p/14453411.html
Copyright © 2011-2022 走看看