Spring Security使用

一、使用下面 Spring Security最简单的配置,就能无偿地得到一个登陆页面

配置DelegatingFilterProxy:

package com.hef.spittr.config;

import org.springframework.security.web.context.AbstractSecurityWebApplicationInitializer;

public class SecurityWebInitializer extends AbstractSecurityWebApplicationInitializer {


}

配置WebSecurityConfigurerAdapter:

package com.hef.spittr.config;

import com.hef.spittr.service.SpitterUserService;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.HttpMethod;
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;

@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {

    /**
     * 基于内存的用户存储
     * inMemoryAuthentication() 启动用户存储
     * @param auth
     * @throws Exception
     */
    @Override
    protected void configure(AuthenticationManagerBuilder auth) throws Exception {
        //super.configure(auth);
        // 用两个用户来配置内存用户存储
        auth.inMemoryAuthentication()
                .withUser("user").password("password").roles("USER").and()
                .withUser("admin").password("password").roles("USER", "ADMIN");
    }
}

使用Spring Security无偿得到一个登陆页面一旦重写configure(HttpSecurity)方法,就失去了这个简单的登陆页面。在configure(HttpSecurity)方法中调用formLogin()之后,还能找回这个功能,此时访问应用的"/login"或者导航到需要认证的页面时,将会在浏览器中展示登陆页面。

猜你喜欢

转载自blog.csdn.net/hefrankeleyn/article/details/88817237