zoukankan      html  css  js  c++  java
  • springboot07-security

    1.pom中添加thymeleaf和security依赖

    <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter</artifactId>
            </dependency>
            <!--测试-->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-test</artifactId>
                <scope>test</scope>
            </dependency>
            <!--mvc-->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
            <!--thymeleaf模板-->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-thymeleaf</artifactId>
            </dependency>
            <!--权限-->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-security</artifactId>
            </dependency>
    </dependencies>
    View Code

    2.配置WebSecurityConfig

    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.context.annotation.Configuration;
    import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
    import org.springframework.security.config.annotation.web.builders.HttpSecurity;
    import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
    import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
    
    /**
     * WebSecurityConfig类描述:
     *
     * @author yangzhenlong
     * @since 2017/2/22
     */
    @Configuration
    @EnableWebSecurity
    public class WebSecurityConfig extends WebSecurityConfigurerAdapter{
        @Override
        protected void configure(HttpSecurity http) throws Exception {
            http.authorizeRequests()
                    .antMatchers("/", "/index").permitAll()
                    .anyRequest().authenticated()
                .and()
                    .formLogin().loginPage("/login").permitAll()
                .and()
                    .logout().permitAll();
        }
    
        /**
         * 在内存中创建了一个用户,该用户的名称为admin,密码为admin,用户角色为USER
         * @param builder
         * @throws Exception
         */
        @Autowired
        public void createUser(AuthenticationManagerBuilder builder) throws Exception {
            builder
                    .inMemoryAuthentication()
                    .withUser("admin")
                    .password("admin")
                    .roles("USER");
        }
    }
    View Code

    3.写自己的Controller

    @Controller
    public class MainController {
    
        @RequestMapping("/")
        public String index(){
            return "index";
        }
    
        @RequestMapping("/index")
        public String index2(){
            return "index";
        }
    
        @RequestMapping("/hello")
        public String hello(){
            return "hello";
        }
    
        @RequestMapping("/login")
        public String login(){
            return "login";
        }
    }
    View Code

    4.启动springboot,访问http://localhost:8080/

    如果没有登录,访问/hello时会自动跳转到/login

    用我们内存中创建的 admin/admin登录

    点击注销,跳转到/login

  • 相关阅读:
    vim 命令
    navicat 破解
    vim 使用技巧记录
    Ubuntu 16.04 安装ftp服务器
    mockito测试入门学习
    Java的getClass()函数
    JQuery中Ajax的操作
    JS中获取元素使用getElementByID()、getElementsByName()、getElementsByTagName()的用法和区别
    Tomcat下ajax请求路径总结
    javascript:void()的理解
  • 原文地址:https://www.cnblogs.com/yangzhenlong/p/6547051.html
Copyright © 2011-2022 走看看