zoukankan      html  css  js  c++  java
  • 引入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>
  • 相关阅读:
    python列表--查找集合中重复元素的个数
    python3-打印一个进度条
    python3-sys模块
    python3-字符串操作
    python3-深浅复制
    python3-os模块
    接口和抽象类有什么区别
    集合知识
    面向对象的特征有哪些方面
    javadoc时候乱码-编码 GBK 的不可映射字符
  • 原文地址:https://www.cnblogs.com/0710whh/p/12256642.html
Copyright © 2011-2022 走看看