|
@ -11,8 +11,10 @@ import org.springframework.security.config.annotation.web.builders.HttpSecurity;
|
|
import org.springframework.security.config.annotation.web.builders.WebSecurity;
|
|
import org.springframework.security.config.annotation.web.builders.WebSecurity;
|
|
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
|
|
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
|
|
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
|
|
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
|
|
|
|
import org.springframework.security.core.session.SessionRegistry;
|
|
import org.springframework.security.core.userdetails.UserDetailsService;
|
|
import org.springframework.security.core.userdetails.UserDetailsService;
|
|
import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter;
|
|
import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter;
|
|
|
|
import org.springframework.security.web.authentication.session.ConcurrentSessionControlAuthenticationStrategy;
|
|
|
|
|
|
/**
|
|
/**
|
|
* Created by progr1mmer on 2018/1/26.
|
|
* Created by progr1mmer on 2018/1/26.
|
|
@ -34,8 +36,11 @@ public class EhrWebSecurityConfiguration extends WebSecurityConfigurerAdapter {
|
|
private EhrWebAuthenticationFailureHandler ehrWebAuthenticationFailureHandler;
|
|
private EhrWebAuthenticationFailureHandler ehrWebAuthenticationFailureHandler;
|
|
//@Autowired
|
|
//@Autowired
|
|
//private EhrWebAccessDecisionManager ehrWebAccessDecisionManager;
|
|
//private EhrWebAccessDecisionManager ehrWebAccessDecisionManager;
|
|
//@Autowired
|
|
|
|
//private SessionRegistry sessionRegistry;
|
|
|
|
|
|
@Autowired
|
|
|
|
private SessionRegistry sessionRegistry;
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
private EhrWebContextLogoutHandler ehrWebContextLogoutHandler;
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public void configure(WebSecurity web) throws Exception {
|
|
public void configure(WebSecurity web) throws Exception {
|
|
@ -49,7 +54,7 @@ public class EhrWebSecurityConfiguration extends WebSecurityConfigurerAdapter {
|
|
ehrWebUsernamePasswordAuthenticationFilter.setAuthenticationSuccessHandler(ehrWebAuthenticationSuccessHandler);
|
|
ehrWebUsernamePasswordAuthenticationFilter.setAuthenticationSuccessHandler(ehrWebAuthenticationSuccessHandler);
|
|
ehrWebUsernamePasswordAuthenticationFilter.setAuthenticationFailureHandler(ehrWebAuthenticationFailureHandler);
|
|
ehrWebUsernamePasswordAuthenticationFilter.setAuthenticationFailureHandler(ehrWebAuthenticationFailureHandler);
|
|
ehrWebUsernamePasswordAuthenticationFilter.setAuthenticationManager(authenticationManagerBean());
|
|
ehrWebUsernamePasswordAuthenticationFilter.setAuthenticationManager(authenticationManagerBean());
|
|
//ehrWebUsernamePasswordAuthenticationFilter.setSessionAuthenticationStrategy(new ConcurrentSessionControlAuthenticationStrategy(sessionRegistry));
|
|
|
|
|
|
ehrWebUsernamePasswordAuthenticationFilter.setSessionAuthenticationStrategy(new ConcurrentSessionControlAuthenticationStrategy(sessionRegistry));
|
|
http.addFilterBefore(ehrWebUsernamePasswordAuthenticationFilter, UsernamePasswordAuthenticationFilter.class);
|
|
http.addFilterBefore(ehrWebUsernamePasswordAuthenticationFilter, UsernamePasswordAuthenticationFilter.class);
|
|
// ---------- 自定义Filter End ----------
|
|
// ---------- 自定义Filter End ----------
|
|
//http.sessionManagement().maximumSessions(3).expiredUrl("/login?expired").sessionRegistry(sessionRegistry);
|
|
//http.sessionManagement().maximumSessions(3).expiredUrl("/login?expired").sessionRegistry(sessionRegistry);
|
|
@ -69,7 +74,7 @@ public class EhrWebSecurityConfiguration extends WebSecurityConfigurerAdapter {
|
|
.antMatchers("/front/views/**").hasRole("USER")
|
|
.antMatchers("/front/views/**").hasRole("USER")
|
|
.antMatchers("/**").hasRole("USER")
|
|
.antMatchers("/**").hasRole("USER")
|
|
.and().formLogin().loginPage("/login")
|
|
.and().formLogin().loginPage("/login")
|
|
.and().logout().logoutUrl("/logout").logoutSuccessUrl("/login")
|
|
|
|
|
|
.and().logout().addLogoutHandler(ehrWebContextLogoutHandler).logoutUrl("/logout").logoutSuccessUrl("/login")
|
|
.and().headers().frameOptions().disable()
|
|
.and().headers().frameOptions().disable()
|
|
.and().csrf().disable();
|
|
.and().csrf().disable();
|
|
}
|
|
}
|
|
@ -100,6 +105,11 @@ public class EhrWebSecurityConfiguration extends WebSecurityConfigurerAdapter {
|
|
EhrWebAuthenticationFailureHandler ehrWebAuthenticationFailureHandler(){
|
|
EhrWebAuthenticationFailureHandler ehrWebAuthenticationFailureHandler(){
|
|
return new EhrWebAuthenticationFailureHandler();
|
|
return new EhrWebAuthenticationFailureHandler();
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Bean
|
|
|
|
EhrWebContextLogoutHandler ehrWebContextLogoutHandler(){
|
|
|
|
return new EhrWebContextLogoutHandler();
|
|
|
|
}
|
|
/**
|
|
/**
|
|
@Bean
|
|
@Bean
|
|
EhrWebAccessDecisionManager ehrWebAccessDecisionManager() {
|
|
EhrWebAccessDecisionManager ehrWebAccessDecisionManager() {
|