将授权的provider,统一到security的模块中

This commit is contained in:
OPGame
2019-08-07 17:26:32 +08:00
parent 5e173375df
commit 8062b42641
2 changed files with 12 additions and 93 deletions

View File

@@ -1,85 +0,0 @@
/*
* Copyright (c) 2018-2999 广州亚米信息科技有限公司 All rights reserved.
*
* https://www.gz-yami.com/
*
* 未经允许,不可做商业用途!
*
* 版权所有,侵权必究!
*/
package com.yami.shop.api.security;
import cn.binarywang.wx.miniapp.api.WxMaService;
import com.yami.shop.security.filter.LoginAuthenticationFilter;
import com.yami.shop.security.handler.LoginAuthFailedHandler;
import com.yami.shop.security.handler.LoginAuthSuccessHandler;
import com.yami.shop.security.provider.MiniAppAuthenticationProvider;
import com.yami.shop.security.service.YamiUserDetailsService;
import lombok.SneakyThrows;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.annotation.Order;
import org.springframework.security.authentication.AuthenticationManager;
import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
import org.springframework.security.crypto.factory.PasswordEncoderFactories;
import org.springframework.security.crypto.password.PasswordEncoder;
/**
*/
@Configuration
@Order(90)
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
/**
* 自动注入UserDetailsService
*/
@Autowired
private YamiUserDetailsService yamiUserDetailsService;
@Autowired
private LoginAuthSuccessHandler loginAuthSuccessHandler;
@Autowired
private LoginAuthFailedHandler loginAuthFailedHandler;
@Autowired
private WxMaService wxService;
@Autowired
private MiniAppAuthenticationProvider miniAppAuthenticationProvider;
@Override
@Bean
@SneakyThrows
public AuthenticationManager authenticationManagerBean() {
return super.authenticationManagerBean();
}
/**
* 用户验证
* @param auth
*/
@Override
public void configure(AuthenticationManagerBuilder auth) {
auth.authenticationProvider(miniAppAuthenticationProvider);
}
@Bean
public PasswordEncoder passwordEncoder(){
return PasswordEncoderFactories.createDelegatingPasswordEncoder();
}
@Bean
public LoginAuthenticationFilter loginAuthenticationFilter() {
LoginAuthenticationFilter filter = new LoginAuthenticationFilter();
try {
filter.setAuthenticationManager(this.authenticationManagerBean());
} catch (Exception e) {
e.printStackTrace();
}
filter.setAuthenticationSuccessHandler(loginAuthSuccessHandler);
filter.setAuthenticationFailureHandler(loginAuthFailedHandler);
return filter;
}
}

View File

@@ -8,14 +8,15 @@
* 版权所有侵权必究
*/
package com.yami.shop.admin.security;
package com.yami.shop.security.config;
import com.yami.shop.security.filter.LoginAuthenticationFilter;
import com.yami.shop.security.handler.LoginAuthFailedHandler;
import com.yami.shop.security.handler.LoginAuthSuccessHandler;
import com.yami.shop.security.provider.AdminAuthenticationProvider;
import com.yami.shop.security.service.YamiUserDetailsService;
import com.yami.shop.security.provider.MiniAppAuthenticationProvider;
import lombok.AllArgsConstructor;
import lombok.SneakyThrows;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
@@ -30,14 +31,16 @@ import org.springframework.security.crypto.password.PasswordEncoder;
@Configuration
@Order(90)
@AllArgsConstructor
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
@Autowired
private LoginAuthSuccessHandler loginAuthSuccessHandler;
@Autowired
private LoginAuthFailedHandler loginAuthFailedHandler;
@Autowired
private AdminAuthenticationProvider adminAuthenticationProvider;
private final LoginAuthSuccessHandler loginAuthSuccessHandler;
private final LoginAuthFailedHandler loginAuthFailedHandler;
private final AdminAuthenticationProvider adminAuthenticationProvider;
private final MiniAppAuthenticationProvider miniAppAuthenticationProvider;
@Override
@Bean
@@ -53,6 +56,7 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
@Override
public void configure(AuthenticationManagerBuilder auth) {
auth.authenticationProvider(adminAuthenticationProvider);
auth.authenticationProvider(miniAppAuthenticationProvider);
}
@Bean