• 引入redis


    Redis缓存

    引入starter

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

    配置properties

    #redis配置
    spring.redis.host=localhost
    #驼峰命名规则
    mybatis.configuration.map-underscore-to-camel-case=true

    Bean序列化:implements Serializable

     

    @EnableAsync:开启异步注解

    @Async:异步注解

    定时任务

    @EnableScheduling:开启定时任务

    @Scheduled(cron="")

     

    spring security

    引入模块

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

    编写配置

    @EnableWebSecurity
    public class MySecurityConfig extends WebSecurityConfigurerAdapter {
    
        @Override
        protected void configure(HttpSecurity http) throws Exception {
            //super.configure(http);
            http.authorizeRequests().mvcMatchers("/").permitAll()
                    .mvcMatchers("/level1").hasRole("VIP1")
                    .mvcMatchers("/level2").hasRole("VIP2")
                    .mvcMatchers("/level3").hasRole("VIP3");
            //自动配置登录
            http.formLogin();
    
            //自动配置注销
            http.logout();
            //记住我
            http.rememberMe();
        }
        
        //认证规则
    
        @Override
        protected void configure(AuthenticationManagerBuilder auth) throws Exception {
            //super.configure(auth);
            auth.inMemoryAuthentication()
                    .withUser("zhangsan").password("123456").roles("VIP1","VIP2")
                    .and()
                    .withUser("lisi").password("123456").roles("VIP3","VIP2");
        }
    }
    //自动配置登录
            /**
             * loginPage("/userLogin")到自己的登录界面
             * 默认post形式的/login代表处理登录
             *  默认表单username和password
             *  .usernameParameter("user")定制名字
             *  .passwordParameter("pwd")
             *  一旦定制loginPage,loginPage的post请求就是登录
             */
            http.formLogin().usernameParameter("user").passwordParameter("pwd").loginPage("/userLogin");
    
            //自动配置注销
            http.logout();
            //记住我  rememberMeParameter与checkbox名字一样
            http.rememberMe().rememberMeParameter("remember");

    引入依赖

    <!-- https://mvnrepository.com/artifact/org.thymeleaf/thymeleaf -->
    <dependency>
        <groupId>org.thymeleaf</groupId>
        <artifactId>thymeleaf</artifactId>
        <version>3.0.11.RELEASE</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/org.thymeleaf.extras/thymeleaf-extras-springsecurity4 -->
    <dependency>
        <groupId>org.thymeleaf.extras</groupId>
        <artifactId>thymeleaf-extras-springsecurity4</artifactId>
        <version>3.0.2.RELEASE</version>
    </dependency>
  • 相关阅读:
    git pull fatal: refusing to merge unrelated histories
    Git报错:Your branch is ahead of 'origin/master' by 1 commit
    java读取大文件内容到Elasticsearch分析(手把手教你java处理超大csv文件)
    Java try catch语句块中try()的括号中代码作用
    Redis这15个“雷坑”,别问我咋知道的……
    MySql死锁
    MQ限流应用
    什么是 JWT -- JSON WEB TOKEN
    mybatis-plus查询指定字段
    数据库炸了----我就重启了一下啊(Communications link failure)
  • 原文地址:https://www.cnblogs.com/0710whh/p/12256642.html
Copyright © 2020-2023  润新知