zoukankan      html  css  js  c++  java
  • [Java Spring] Implementing Spring Security

    pom.xml:

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

    SecurityConfiguration.java:

    package com.frankmoley.boot.essentials.initialbootapp;
    
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.context.annotation.Configuration;
    import org.springframework.data.domain.ExampleMatcher;
    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;
    import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
    import org.springframework.security.crypto.password.NoOpPasswordEncoder;
    
    @Configuration
    @EnableWebSecurity
    public class SecurityConfiguration extends WebSecurityConfigurerAdapter {
        @Override
        protected void configure(final HttpSecurity http) throws Exception {
    
            http.authorizeRequests().antMatchers("/", "/api")
                    // when it comes to / or /api/*, no need to check
                    .permitAll()
                    // any other reuqest should have authentication
                    .anyRequest().authenticated()
                .and()
    // if not authenticated, redirect to login form .formLogin()
    // allow /login for form login .loginPage("/login") .permitAll() .and() // allow logout .logout() .permitAll(); } @Autowired public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception { // not production code auth.inMemoryAuthentication() // just demo // in real world, use BCryptPasswordEncoder .passwordEncoder(NoOpPasswordEncoder.getInstance()) .withUser("user").password("password").roles("USER"); } }
  • 相关阅读:
    有限自动机的构造与识别
    c语言文法
    201506110097-试验一实验报告
    作业9.30
    组合数据类型练习,综合练习
    Python综合基础练习
    linux基本命令
    试述大数据对思维方式的重要影响
    语法分析
    有限自动机的构造与识别
  • 原文地址:https://www.cnblogs.com/Answer1215/p/14068544.html
Copyright © 2011-2022 走看看