From 9a40bcbd6037d1c47fdb939b6436c43e0b4ed469 Mon Sep 17 00:00:00 2001 From: winLsy <18332763730@163.com> Date: Tue, 23 Jan 2018 22:33:46 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=93=E6=9E=84=E6=95=B4=E4=BD=93=E4=BC=98?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../boot-starter-security-oauth/pom.xml | 37 ++++++++++++ .../AuthorizationResourceConfig.java | 11 +--- .../MsAuthenticationFailureHandler.java | 7 +-- .../app/master/OAuth2ClientProperties.java | 45 ++------------ .../security/app/master/OAuth2Properties.java | 21 ++----- .../app/master/SecurityConstants.java | 5 -- .../app/master/SecurityProperties.java | 57 ++---------------- .../app/master/SessionProperties.java | 47 --------------- boot-starter/boot-starter-ssm/pom.xml | 6 ++ .../micro/fast/common/CommonApplication.java | 6 +- .../config/param/MybatisParamConfig.java | 27 ++------- ms/oauth/pom.xml | 4 -- ms/upms/pom.xml | 4 -- .../UpmsUserAuthenticationServiceImpl.java | 58 ------------------- .../service/impl/UpmsUserServiceImpl.java | 6 +- ms/upms/src/main/resources/bootstrap.yml | 7 --- pom.xml | 18 ++++++ 17 files changed, 87 insertions(+), 279 deletions(-) delete mode 100644 boot-starter/boot-starter-security-oauth/src/main/java/com/micro/fast/security/app/master/SessionProperties.java delete mode 100644 ms/upms/src/main/java/com/micro/fast/upms/service/impl/UpmsUserAuthenticationServiceImpl.java diff --git a/boot-starter/boot-starter-security-oauth/pom.xml b/boot-starter/boot-starter-security-oauth/pom.xml index 4408827..7dce012 100644 --- a/boot-starter/boot-starter-security-oauth/pom.xml +++ b/boot-starter/boot-starter-security-oauth/pom.xml @@ -16,6 +16,43 @@ + + com.micro.fast + boot-starter-util + ${micro.fast.version} + + + org.springframework.cloud + spring-cloud-starter-oauth2 + + + org.springframework.boot + spring-boot-starter-data-redis + + + mysql + mysql-connector-java + + + org.springframework.boot + spring-boot-starter-aop + + + commons-lang + commons-lang + + + commons-collections + commons-collections + + + commons-beanutils + commons-beanutils + + + org.springframework.boot + spring-boot-configuration-processor + org.springframework.boot spring-boot-starter-test diff --git a/boot-starter/boot-starter-security-oauth/src/main/java/com/micro/fast/security/app/config/authorization2/AuthorizationResourceConfig.java b/boot-starter/boot-starter-security-oauth/src/main/java/com/micro/fast/security/app/config/authorization2/AuthorizationResourceConfig.java index b3bc52c..98ed47e 100644 --- a/boot-starter/boot-starter-security-oauth/src/main/java/com/micro/fast/security/app/config/authorization2/AuthorizationResourceConfig.java +++ b/boot-starter/boot-starter-security-oauth/src/main/java/com/micro/fast/security/app/config/authorization2/AuthorizationResourceConfig.java @@ -2,9 +2,9 @@ package com.micro.fast.security.app.config.authorization2; import com.micro.fast.security.app.config.component.MsAuthenticationFailureHandler; import com.micro.fast.security.app.config.component.MsAuthenticationSuccessHandler; -import com.micro.fast.security.app.mobile.SmsCodeAuthenticationSecurityConfig; import com.micro.fast.security.app.master.SecurityConstants; import com.micro.fast.security.app.master.SecurityProperties; +import com.micro.fast.security.app.mobile.SmsCodeAuthenticationSecurityConfig; import com.micro.fast.security.app.validate.code.ValidateCodeRepository; import com.micro.fast.security.app.validate.code.filter.ValidateCodeFilter; import org.springframework.beans.factory.annotation.Autowired; @@ -13,7 +13,6 @@ import org.springframework.security.config.annotation.web.builders.HttpSecurity; import org.springframework.security.oauth2.config.annotation.web.configuration.EnableResourceServer; import org.springframework.security.oauth2.config.annotation.web.configuration.ResourceServerConfigurerAdapter; import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter; -import org.springframework.social.security.SpringSocialConfigurer; /** * OAuth2协议标准服务提供实现配置类,资源服务器的配置 @@ -43,8 +42,6 @@ public class AuthorizationResourceConfig extends ResourceServerConfigurerAdapter @Autowired private SmsCodeAuthenticationSecurityConfig smsCodeAuthenticationSecurityConfig; - @Autowired - private SpringSocialConfigurer springSocialConfigurer; @Autowired private ValidateCodeRepository validateCodeRepository; @@ -79,9 +76,7 @@ public class AuthorizationResourceConfig extends ResourceServerConfigurerAdapter , SecurityConstants.GET_VALIDATE_CODE_URI , SecurityConstants.LOGIN_PAGE , DRUID - , securityProperties.getBrowser().getHtml() //用户注册或绑定的页面 - , securityProperties.getBrowser().getSignUpUrl() , "处理用户的注册绑定请求的url" ,"/social/signUp" ) @@ -95,8 +90,6 @@ public class AuthorizationResourceConfig extends ResourceServerConfigurerAdapter .csrf().disable() //应用短信验证码登录的逻辑 .apply(smsCodeAuthenticationSecurityConfig) - .and() - //应用springSocial的配置,在接收到特殊的请求的时候进行社交登录.例如 /auth/qq 其中/auth是默认的前缀,qq是providerId - .apply(springSocialConfigurer); + .and(); } } diff --git a/boot-starter/boot-starter-security-oauth/src/main/java/com/micro/fast/security/app/config/component/MsAuthenticationFailureHandler.java b/boot-starter/boot-starter-security-oauth/src/main/java/com/micro/fast/security/app/config/component/MsAuthenticationFailureHandler.java index 100862d..78fa1d1 100644 --- a/boot-starter/boot-starter-security-oauth/src/main/java/com/micro/fast/security/app/config/component/MsAuthenticationFailureHandler.java +++ b/boot-starter/boot-starter-security-oauth/src/main/java/com/micro/fast/security/app/config/component/MsAuthenticationFailureHandler.java @@ -1,7 +1,6 @@ package com.micro.fast.security.app.config.component; import com.fasterxml.jackson.databind.ObjectMapper; -import com.micro.fast.security.core.browser.constant.LoginType; import com.micro.fast.security.app.master.SecurityProperties; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -41,14 +40,10 @@ public class MsAuthenticationFailureHandler extends SimpleUrlAuthenticationFailu , HttpServletResponse httpServletResponse , AuthenticationException e) throws IOException, ServletException { - //根据配置参数判断身份认证失败后的返回类型进行响应 - if (LoginType.JSON.equals(securityProperties.getBrowser().getLoginType())){ + //根据配置参数判断身份认证失败后的返回类型进行响应 log.info("failure"); httpServletResponse.setStatus(HttpStatus.INTERNAL_SERVER_ERROR.value()); httpServletResponse.setContentType("application/json;charset=UTF-8"); httpServletResponse.getWriter().write(objectMapper.writeValueAsString(e)); - }else{ - super.onAuthenticationFailure(httpServletRequest,httpServletResponse,e); - } } } diff --git a/boot-starter/boot-starter-security-oauth/src/main/java/com/micro/fast/security/app/master/OAuth2ClientProperties.java b/boot-starter/boot-starter-security-oauth/src/main/java/com/micro/fast/security/app/master/OAuth2ClientProperties.java index 4181515..78322ee 100644 --- a/boot-starter/boot-starter-security-oauth/src/main/java/com/micro/fast/security/app/master/OAuth2ClientProperties.java +++ b/boot-starter/boot-starter-security-oauth/src/main/java/com/micro/fast/security/app/master/OAuth2ClientProperties.java @@ -1,8 +1,13 @@ package com.micro.fast.security.app.master; +import lombok.Getter; +import lombok.Setter; + /** * @author lsy */ +@Getter +@Setter public class OAuth2ClientProperties { private String clientId; @@ -13,44 +18,4 @@ public class OAuth2ClientProperties { private String authorizedGrantTypes; private String scopes; - - public String getClientId() { - return clientId; - } - - public void setClientId(String clientId) { - this.clientId = clientId; - } - - public String getClientSecret() { - return clientSecret; - } - - public void setClientSecret(String clientSecret) { - this.clientSecret = clientSecret; - } - - public int getAccessTokenValiditySeconds() { - return accessTokenValiditySeconds; - } - - public void setAccessTokenValiditySeconds(int accessTokenValiditySeconds) { - this.accessTokenValiditySeconds = accessTokenValiditySeconds; - } - - public String getAuthorizedGrantTypes() { - return authorizedGrantTypes; - } - - public void setAuthorizedGrantTypes(String authorizedGrantTypes) { - this.authorizedGrantTypes = authorizedGrantTypes; - } - - public String getScopes() { - return scopes; - } - - public void setScopes(String scopes) { - this.scopes = scopes; - } } diff --git a/boot-starter/boot-starter-security-oauth/src/main/java/com/micro/fast/security/app/master/OAuth2Properties.java b/boot-starter/boot-starter-security-oauth/src/main/java/com/micro/fast/security/app/master/OAuth2Properties.java index d986545..06e3c1b 100644 --- a/boot-starter/boot-starter-security-oauth/src/main/java/com/micro/fast/security/app/master/OAuth2Properties.java +++ b/boot-starter/boot-starter-security-oauth/src/main/java/com/micro/fast/security/app/master/OAuth2Properties.java @@ -1,9 +1,14 @@ package com.micro.fast.security.app.master; +import lombok.Getter; +import lombok.Setter; + /** * aouth2属性配置 * @author lsy */ +@Getter +@Setter public class OAuth2Properties { private OAuth2ClientProperties[] clients = new OAuth2ClientProperties[]{}; @@ -11,20 +16,4 @@ public class OAuth2Properties { private String jwtSigningKey = "msjwt"; private String storeType = "jwt"; - - public String getJwtSigningKey() { - return jwtSigningKey; - } - - public void setJwtSigningKey(String jwtSigningKey) { - this.jwtSigningKey = jwtSigningKey; - } - - public OAuth2ClientProperties[] getClients() { - return clients; - } - - public void setClients(OAuth2ClientProperties[] clients) { - this.clients = clients; - } } diff --git a/boot-starter/boot-starter-security-oauth/src/main/java/com/micro/fast/security/app/master/SecurityConstants.java b/boot-starter/boot-starter-security-oauth/src/main/java/com/micro/fast/security/app/master/SecurityConstants.java index fbeec9b..3d93ae4 100644 --- a/boot-starter/boot-starter-security-oauth/src/main/java/com/micro/fast/security/app/master/SecurityConstants.java +++ b/boot-starter/boot-starter-security-oauth/src/main/java/com/micro/fast/security/app/master/SecurityConstants.java @@ -35,9 +35,4 @@ public interface SecurityConstants { * 获取验证码请求的前缀 */ String GET_VALIDATE_CODE_PREFIX = "/code/"; - - /** - * session失效的处理地址 - */ - String DEFAULT_SESSION_INVALID_URL = "/ms-session-invalid.html"; } diff --git a/boot-starter/boot-starter-security-oauth/src/main/java/com/micro/fast/security/app/master/SecurityProperties.java b/boot-starter/boot-starter-security-oauth/src/main/java/com/micro/fast/security/app/master/SecurityProperties.java index f1f6cf2..32cc27f 100644 --- a/boot-starter/boot-starter-security-oauth/src/main/java/com/micro/fast/security/app/master/SecurityProperties.java +++ b/boot-starter/boot-starter-security-oauth/src/main/java/com/micro/fast/security/app/master/SecurityProperties.java @@ -1,73 +1,24 @@ package com.micro.fast.security.app.master; -import com.micro.fast.security.core.browser.config.param.BrowserProperties; import com.micro.fast.security.app.validate.code.config.param.ValidateCodeProperties; +import lombok.Getter; +import lombok.Setter; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.context.annotation.Configuration; -import javax.validation.Valid; - /** * 用于从application.yml配置文件中加载以ms.security为前缀的配置属性, ms spring security 配置参数 * @author lsy */ @ConfigurationProperties(prefix = "ms.security") @Configuration +@Getter +@Setter public class SecurityProperties { - /** - * 浏览器身份认证配置 - * 对带有校验注解的对象进行属性校验 - */ - @Valid - private BrowserProperties browser = new BrowserProperties(); private ValidateCodeProperties code = new ValidateCodeProperties(); private Boolean createRememberTable = true; - - - private SessionProperties session = new SessionProperties(); - private OAuth2Properties oauth2 = new OAuth2Properties(); - - public SessionProperties getSession() { - return session; - } - - public void setSession(SessionProperties session) { - this.session = session; - } - - public Boolean getCreateRememberTable() { - return createRememberTable; - } - - public void setCreateRememberTable(Boolean createRememberTable) { - this.createRememberTable = createRememberTable; - } - - public BrowserProperties getBrowser() { - return browser; - } - - public void setBrowser(BrowserProperties browser) { - this.browser = browser; - } - - public ValidateCodeProperties getCode() { - return code; - } - - public void setCode(ValidateCodeProperties code) { - this.code = code; - } - - public OAuth2Properties getOauth2() { - return oauth2; - } - - public void setOauth2(OAuth2Properties oauth2) { - this.oauth2 = oauth2; - } } diff --git a/boot-starter/boot-starter-security-oauth/src/main/java/com/micro/fast/security/app/master/SessionProperties.java b/boot-starter/boot-starter-security-oauth/src/main/java/com/micro/fast/security/app/master/SessionProperties.java deleted file mode 100644 index 92b1cbe..0000000 --- a/boot-starter/boot-starter-security-oauth/src/main/java/com/micro/fast/security/app/master/SessionProperties.java +++ /dev/null @@ -1,47 +0,0 @@ -package com.micro.fast.security.app.master; - -/** - * session处理的配置 - * @author lsy - */ -public class SessionProperties { - /** - * 同一个系统中的最大session数,默认1 - */ - private int maximumSessions = 1; - - /** - * 达到最大session时,是否阻止新的登录请求,默认为false,不阻止,新的登录将老的登录 - * 失效掉 - */ - private boolean maxSessionPreventsLogin = false; - - /** - * session失效的时候跳转的地址 - */ - private String sessionInvalidUrl = SecurityConstants.DEFAULT_SESSION_INVALID_URL; - - public int getMaximumSessions() { - return maximumSessions; - } - - public void setMaximumSessions(int maximumSessions) { - this.maximumSessions = maximumSessions; - } - - public boolean isMaxSessionPreventsLogin() { - return maxSessionPreventsLogin; - } - - public void setMaxSessionPreventsLogin(boolean maxSessionPreventsLogin) { - this.maxSessionPreventsLogin = maxSessionPreventsLogin; - } - - public String getSessionInvalidUrl() { - return sessionInvalidUrl; - } - - public void setSessionInvalidUrl(String sessionInvalidUrl) { - this.sessionInvalidUrl = sessionInvalidUrl; - } -} diff --git a/boot-starter/boot-starter-ssm/pom.xml b/boot-starter/boot-starter-ssm/pom.xml index 14aa8d1..09ad541 100644 --- a/boot-starter/boot-starter-ssm/pom.xml +++ b/boot-starter/boot-starter-ssm/pom.xml @@ -88,6 +88,12 @@ org.mybatis.generator mybatis-generator-core + + + org.springframework.boot + spring-boot-configuration-processor + true + org.springframework.boot diff --git a/boot-starter/boot-starter-ssm/src/main/java/com/micro/fast/common/CommonApplication.java b/boot-starter/boot-starter-ssm/src/main/java/com/micro/fast/common/CommonApplication.java index 3990c24..59f9e8a 100644 --- a/boot-starter/boot-starter-ssm/src/main/java/com/micro/fast/common/CommonApplication.java +++ b/boot-starter/boot-starter-ssm/src/main/java/com/micro/fast/common/CommonApplication.java @@ -1,5 +1,7 @@ package com.micro.fast.common; +import com.micro.fast.common.config.param.MybatisParamConfig; +import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; @@ -12,7 +14,5 @@ import org.springframework.context.annotation.Configuration; @Configuration @ComponentScan(basePackages = {"com.micro.fast.common"}) public class CommonApplication { -// public static void main(String[] args) { -// SpringApplication.run(CommonApplication.class, args); -// } + } \ No newline at end of file diff --git a/boot-starter/boot-starter-ssm/src/main/java/com/micro/fast/common/config/param/MybatisParamConfig.java b/boot-starter/boot-starter-ssm/src/main/java/com/micro/fast/common/config/param/MybatisParamConfig.java index 213ddee..565a688 100644 --- a/boot-starter/boot-starter-ssm/src/main/java/com/micro/fast/common/config/param/MybatisParamConfig.java +++ b/boot-starter/boot-starter-ssm/src/main/java/com/micro/fast/common/config/param/MybatisParamConfig.java @@ -1,5 +1,7 @@ package com.micro.fast.common.config.param; +import lombok.Getter; +import lombok.Setter; import org.springframework.boot.autoconfigure.AutoConfigureBefore; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.context.annotation.Configuration; @@ -18,6 +20,8 @@ import java.util.ArrayList; @AutoConfigureBefore(com.micro.fast.common.config.SqlSessionFactoryConfig.class) @ConfigurationProperties(prefix = "mybatis") @Validated +@Getter +@Setter public class MybatisParamConfig { /** * pojo所在的包 @@ -34,27 +38,4 @@ public class MybatisParamConfig { */ private ArrayList pageHelperProperties; - public String getTypeAliasesPackage() { - return typeAliasesPackage; - } - - public void setTypeAliasesPackage(String typeAliasesPackage) { - this.typeAliasesPackage = typeAliasesPackage; - } - - public String getMappers() { - return mappers; - } - - public void setMappers(String mappers) { - this.mappers = mappers; - } - - public ArrayList getPageHelperProperties() { - return pageHelperProperties; - } - - public void setPageHelperProperties(ArrayList pageHelperProperties) { - this.pageHelperProperties = pageHelperProperties; - } } diff --git a/ms/oauth/pom.xml b/ms/oauth/pom.xml index 8c21c12..a4fbe48 100644 --- a/ms/oauth/pom.xml +++ b/ms/oauth/pom.xml @@ -55,10 +55,6 @@ spring-boot-starter-test test - - org.projectlombok - lombok - diff --git a/ms/upms/pom.xml b/ms/upms/pom.xml index f5a6586..840dc3b 100644 --- a/ms/upms/pom.xml +++ b/ms/upms/pom.xml @@ -101,10 +101,6 @@ - - org.projectlombok - lombok - diff --git a/ms/upms/src/main/java/com/micro/fast/upms/service/impl/UpmsUserAuthenticationServiceImpl.java b/ms/upms/src/main/java/com/micro/fast/upms/service/impl/UpmsUserAuthenticationServiceImpl.java deleted file mode 100644 index d99839e..0000000 --- a/ms/upms/src/main/java/com/micro/fast/upms/service/impl/UpmsUserAuthenticationServiceImpl.java +++ /dev/null @@ -1,58 +0,0 @@ -package com.micro.fast.upms.service.impl; - -import com.micro.fast.security.browser.service.UserService; -import com.micro.fast.upms.dao.UpmsUserMapper; -import com.micro.fast.upms.pojo.UpmsUser; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.security.core.authority.AuthorityUtils; -import org.springframework.security.core.userdetails.User; -import org.springframework.security.core.userdetails.UsernameNotFoundException; -import org.springframework.social.security.SocialUser; -import org.springframework.social.security.SocialUserDetails; -import org.springframework.social.security.SocialUserDetailsService; -import org.springframework.stereotype.Service; - -/** - * 后台权限管理系统用户操作接口实现类 - * @author lsy - */ -@Service("userServiceImpl") -public class UpmsUserAuthenticationServiceImpl implements UserService,SocialUserDetailsService{ - - @Autowired - private UpmsUserMapper upmsUserMapper; - - /** - * 安全框架根据用户的名称获取用户的信息 - * @param username - * @return - */ - @Override - public User getUserByUsername(String username) { - UpmsUser upmsUser = upmsUserMapper.selectByUsername(username); - //将根据用户名查询出来的用户信息填入springSecurity的User对象中,默认是admin权限 todo 需要进行完善 - /* User user = new User(username,upmsUser.getPassword(), AuthorityUtils.commaSeparatedStringToAuthorityList("admin"));*/ - //使用socialUser替换user.只有socialUser在才有getUserId方法,这样使用connect获取绑定第三方账号信息的时候才能用 - SocialUser user = new SocialUser(username, upmsUser.getPassword() - , true, true, true, true - , AuthorityUtils.commaSeparatedStringToAuthorityList("admin")); - return user; - } - - /** - * springSocial根据用户的id获取用户的信息 - * @param username 这里只要是用户的唯一标识就可以 - * @return - * @throws UsernameNotFoundException - */ - @Override - public SocialUserDetails loadUserByUserId(String username) throws UsernameNotFoundException { - //使用upmsUserMapper获取到用户的 - UpmsUser upmsUser = upmsUserMapper.selectByUsername(username); - //todo 需要完善 - SocialUser socialUser = new SocialUser(username, upmsUser.getPassword() - , true, true, true, true - , AuthorityUtils.commaSeparatedStringToAuthorityList("admin")); - return socialUser; - } -} diff --git a/ms/upms/src/main/java/com/micro/fast/upms/service/impl/UpmsUserServiceImpl.java b/ms/upms/src/main/java/com/micro/fast/upms/service/impl/UpmsUserServiceImpl.java index 5ad62ef..9512bb4 100644 --- a/ms/upms/src/main/java/com/micro/fast/upms/service/impl/UpmsUserServiceImpl.java +++ b/ms/upms/src/main/java/com/micro/fast/upms/service/impl/UpmsUserServiceImpl.java @@ -18,8 +18,6 @@ import com.micro.fast.common.response.BaseConst.*; @Service(value = "upmsUserServiceImpl") public class UpmsUserServiceImpl implements UpmsUserService { - @Autowired - private PasswordEncoder passwordEncoder; @Autowired private UpmsUserMapper upmsUserMapper; @@ -49,8 +47,8 @@ public class UpmsUserServiceImpl implements UpmsUserService { ,UserResponse.EMAIL_IS_HAVE.getMsg())); } upmsUser.setCtime(Long.valueOf(System.currentTimeMillis())); - //对密码进行加密处理 - upmsUser.setPassword(passwordEncoder.encode(upmsUser.getPassword())); + //todo 对密码进行加密处理 + int i = upmsUserMapper.insertSelective(upmsUser); //是否插入成功 if (i<1){ diff --git a/ms/upms/src/main/resources/bootstrap.yml b/ms/upms/src/main/resources/bootstrap.yml index 5446aec..e22211c 100644 --- a/ms/upms/src/main/resources/bootstrap.yml +++ b/ms/upms/src/main/resources/bootstrap.yml @@ -70,13 +70,6 @@ eureka: defaultZone: http://micro:fast@www.register1.com:10002/eureka/,http://micro:fast@www.register2.com:10004/eureka/ #配置所有的注册中心 instance: hostname: www.upms.com -ms: - security: - browser: - loginType: JSON - html: / - createRememberTable: false - diff --git a/pom.xml b/pom.xml index 7d0499c..cc6e82b 100644 --- a/pom.xml +++ b/pom.xml @@ -47,6 +47,7 @@ UTF-8 UTF-8 1.8 + 1.16.6.1 1.8 1.8 1.8 @@ -80,6 +81,12 @@ true + + + org.projectlombok + lombok + + ubuntu-dev @@ -304,6 +311,11 @@ + + org.projectlombok + lombok-maven-plugin + ${lombok.plugin.version} + org.mybatis.generator @@ -389,5 +401,11 @@ + + + org.projectlombok + lombok-maven-plugin + +