Browse Source

tofly-auth应用升级更新

wj 4 years ago
parent
commit
e9dfd530f7

+ 37 - 42
tofly-auth/pom.xml

@@ -14,22 +14,17 @@
     <version>1.0.0</version>
 
     <dependencies>
-        <!--配置中心客户端-->
-        <dependency>
-            <groupId>org.springframework.cloud</groupId>
-            <artifactId>spring-cloud-starter-config</artifactId>
-        </dependency>
         <dependency>
             <groupId>com.tofly</groupId>
             <artifactId>common-oauth</artifactId>
             <version>1.0.0</version>
         </dependency>
 
-        <dependency>
-            <groupId>com.tofly</groupId>
-            <artifactId>common-core</artifactId>
-            <version>1.0.0</version>
-        </dependency>
+        <!--<dependency>-->
+            <!--<groupId>com.tofly</groupId>-->
+            <!--<artifactId>common-core</artifactId>-->
+            <!--<version>1.0.0</version>-->
+        <!--</dependency>-->
 
         <dependency>
             <groupId>com.tofly</groupId>
@@ -43,40 +38,40 @@
             <version>1.0.0</version>
         </dependency>
 
-        <dependency>
-            <groupId>com.tofly</groupId>
-            <artifactId>common-entity</artifactId>
-            <version>1.0.0</version>
-        </dependency>
-        <!--undertow容器-->
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-undertow</artifactId>
-        </dependency>
 
-        <!--spring security 、oauth、jwt依赖-->
-        <dependency>
-            <groupId>org.springframework.cloud</groupId>
-            <artifactId>spring-cloud-starter-security</artifactId>
-            <exclusions>
-                <!--旧版本 redis操作有问题-->
-                <exclusion>
-                    <artifactId>spring-security-oauth2</artifactId>
-                    <groupId>org.springframework.security.oauth</groupId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.security.oauth</groupId>
-            <artifactId>spring-security-oauth2</artifactId>
-            <version>${security.oauth.version}</version>
-        </dependency>
 
-        <!--JDBC相关-->
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-jdbc</artifactId>
-        </dependency>
+        <!--<dependency>-->
+            <!--<groupId>com.tofly</groupId>-->
+            <!--<artifactId>common-entity</artifactId>-->
+            <!--<version>1.0.0</version>-->
+        <!--</dependency>-->
+        <!--&lt;!&ndash;undertow容器&ndash;&gt;-->
+        <!--<dependency>-->
+            <!--<groupId>org.springframework.boot</groupId>-->
+            <!--<artifactId>spring-boot-starter-undertow</artifactId>-->
+        <!--</dependency>-->
 
+        <!--&lt;!&ndash;spring security 、oauth、jwt依赖&ndash;&gt;-->
+        <!--<dependency>-->
+            <!--<groupId>org.springframework.cloud</groupId>-->
+            <!--<artifactId>spring-cloud-starter-security</artifactId>-->
+            <!--<exclusions>-->
+                <!--&lt;!&ndash;旧版本 redis操作有问题&ndash;&gt;-->
+                <!--<exclusion>-->
+                    <!--<artifactId>spring-security-oauth2</artifactId>-->
+                    <!--<groupId>org.springframework.security.oauth</groupId>-->
+                <!--</exclusion>-->
+            <!--</exclusions>-->
+        <!--</dependency>-->
+        <!--<dependency>-->
+            <!--<groupId>org.springframework.security.oauth</groupId>-->
+            <!--<artifactId>spring-security-oauth2</artifactId>-->
+        <!--</dependency>-->
+
+        <!--JDBC相关-->
+        <!--<dependency>-->
+            <!--<groupId>org.springframework.boot</groupId>-->
+            <!--<artifactId>spring-boot-starter-jdbc</artifactId>-->
+        <!--</dependency>-->
     </dependencies>
 </project>

+ 5 - 4
tofly-auth/src/main/java/com/tofly/auth/AuthApplication.java

@@ -1,18 +1,19 @@
 package com.tofly.auth;
 
-import com.tofly.common.core.configs.AutoConfigConfiguration;
+import com.tofly.common.config.ToflyCloudApplication;
 import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
 import org.springframework.cloud.client.SpringCloudApplication;
+import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
 import org.springframework.cloud.openfeign.EnableFeignClients;
-import org.springframework.context.annotation.Import;
+import org.springframework.context.annotation.ComponentScan;
 
 /**
  * @author Administrator
  * @date 2019/9/9  10:24
  */
-@SpringCloudApplication
+@ToflyCloudApplication
 @EnableFeignClients(basePackages = "com.tofly.auth.feign")
-@Import({AutoConfigConfiguration.class})
 public class AuthApplication {
     public static void main(String[] args) {
         SpringApplication.run(AuthApplication.class,args);

+ 38 - 5
tofly-auth/src/main/java/com/tofly/auth/config/AuthorizationServerConfiguration.java

@@ -6,9 +6,11 @@ import com.tofly.common.oauth.auth.ToflyUser;
 import com.tofly.common.oauth.compent.ToflyWebResponseExceptionTranslator;
 import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.cache.CacheManager;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.context.annotation.Primary;
+import org.springframework.data.redis.cache.RedisCacheManager;
 import org.springframework.data.redis.connection.RedisConnectionFactory;
 import org.springframework.http.HttpMethod;
 import org.springframework.security.authentication.AuthenticationManager;
@@ -19,6 +21,10 @@ import org.springframework.security.oauth2.config.annotation.web.configuration.A
 import org.springframework.security.oauth2.config.annotation.web.configuration.EnableAuthorizationServer;
 import org.springframework.security.oauth2.config.annotation.web.configurers.AuthorizationServerEndpointsConfigurer;
 import org.springframework.security.oauth2.config.annotation.web.configurers.AuthorizationServerSecurityConfigurer;
+import org.springframework.security.oauth2.provider.ClientDetails;
+import org.springframework.security.oauth2.provider.ClientDetailsService;
+import org.springframework.security.oauth2.provider.client.BaseClientDetails;
+import org.springframework.security.oauth2.provider.client.InMemoryClientDetailsService;
 import org.springframework.security.oauth2.provider.token.AuthorizationServerTokenServices;
 import org.springframework.security.oauth2.provider.token.DefaultTokenServices;
 import org.springframework.security.oauth2.provider.token.TokenEnhancer;
@@ -26,7 +32,9 @@ import org.springframework.security.oauth2.provider.token.TokenStore;
 import org.springframework.security.oauth2.provider.token.store.redis.RedisTokenStore;
 
 import javax.sql.DataSource;
+import java.util.ArrayList;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -40,18 +48,41 @@ import java.util.Map;
 @Slf4j
 public class AuthorizationServerConfiguration extends AuthorizationServerConfigurerAdapter {
 
-    private DataSource dataSource;
+    //private DataSource dataSource;
+
     private UserDetailsService userDetailsService;
     private RedisConnectionFactory redisConnectionFactory;
     private AuthenticationManager authenticationManager;
 
+
+
     //配置客户端详情信息
     @Override
     public void configure(ClientDetailsServiceConfigurer clients) throws Exception {
-        ToFlyClientDetailsService toFlyClientDetailsService = new ToFlyClientDetailsService(dataSource);
-        toFlyClientDetailsService.setSelectClientDetailsSql(SecurityConstants.DEFAULT_SELECT_STATEMENT);
-        toFlyClientDetailsService.setFindClientDetailsSql(SecurityConstants.DEFAULT_FIND_STATEMENT);
-        clients.withClientDetails(toFlyClientDetailsService);
+//        ToFlyClientDetailsService toFlyClientDetailsService = new ToFlyClientDetailsService(dataSource);
+//        toFlyClientDetailsService.setSelectClientDetailsSql(SecurityConstants.DEFAULT_SELECT_STATEMENT);
+//        toFlyClientDetailsService.setFindClientDetailsSql(SecurityConstants.DEFAULT_FIND_STATEMENT);
+//        clients.withClientDetails(toFlyClientDetailsService);
+//        //暂时写死,设置内存型客户端
+        ClientDetailsService clientDetailsService= new InMemoryClientDetailsService();
+        ClientDetails clientDetails=new BaseClientDetails();
+        ((BaseClientDetails) clientDetails).setClientId("tofly");
+        ((BaseClientDetails) clientDetails).setClientSecret("tofly");
+        ((BaseClientDetails) clientDetails).setScope(new ArrayList<String>(){{add("server");}});
+        ((BaseClientDetails) clientDetails).setAuthorizedGrantTypes(new ArrayList<String>(){{
+            add("password");
+            add("authorization_code");
+            add("refresh_token");
+            add("client_credentials");
+        }});
+        ((BaseClientDetails) clientDetails).setAutoApproveScopes(new ArrayList<String>(){{
+            add("true");
+        }});
+        Map<String,ClientDetails> map=new HashMap();
+        map.put("tofly_oauth:client:details",clientDetails);
+        ((InMemoryClientDetailsService) clientDetailsService).setClientDetailsStore(map);
+        clients.withClientDetails(clientDetailsService);
+
     }
 
     //配置令牌端点(Token Endpoint)的安全与权限访问
@@ -84,6 +115,8 @@ public class AuthorizationServerConfiguration extends AuthorizationServerConfigu
 
 
 
+
+
     @Bean
     public TokenStore tokenStore() {
         RedisTokenStore tokenStore = new RedisTokenStore(redisConnectionFactory);

+ 0 - 2
tofly-auth/src/main/java/com/tofly/auth/config/AutoAPIConfiguration.java

@@ -1,7 +1,5 @@
 package com.tofly.auth.config;
 
-import com.netflix.loadbalancer.IRule;
-import com.tofly.auth.balance.ToflyChooseBalancerRule;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.context.annotation.Bean;

+ 5 - 0
tofly-auth/src/main/java/com/tofly/auth/controller/MytestController.java

@@ -16,4 +16,9 @@ public class MytestController {
     public User test(){
         return SecurityUtils.getUser();
     }
+
+    @RequestMapping("/test2")
+    public String test2(){
+        return "111111111111";
+    }
 }

+ 1 - 1
tofly-auth/src/main/java/com/tofly/auth/feign/fallback/BaseUserLoginServiceFallbackImpl.java

@@ -1,8 +1,8 @@
 package com.tofly.auth.feign.fallback;
 
 import com.tofly.auth.feign.BaseUserLoginService;
-import com.tofly.base.api.entity.User;
 import com.tofly.common.core.entity.ResultRespone;
+import com.tofly.entity.pojo.User;
 import lombok.Setter;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Component;

+ 1 - 1
tofly-auth/src/main/java/com/tofly/auth/feign/fallback/BaseUserServiceFallbackImpl.java

@@ -1,8 +1,8 @@
 package com.tofly.auth.feign.fallback;
 
 import com.tofly.auth.feign.BaseUserService;
-import com.tofly.base.api.dto.UserInfo;
 import com.tofly.common.core.entity.ResultRespone;
+import com.tofly.entity.pojo.UserInfo;
 import lombok.Setter;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Component;

+ 7 - 7
tofly-auth/src/main/java/com/tofly/auth/oauth/ToFlyUserDetailsService.java

@@ -1,17 +1,18 @@
 package com.tofly.auth.oauth;
 
-import com.tofly.base.api.dto.UserInfo;
-import com.tofly.base.api.entity.SysUser;
-import com.tofly.base.api.feign.BaseUserService;
+import com.tofly.auth.feign.BaseUserService;
 import com.tofly.common.core.constant.CommonConstants;
 import com.tofly.common.core.constant.SecurityConstants;
 import com.tofly.common.core.entity.ResultRespone;
 import com.tofly.common.oauth.auth.ToflyUser;
+import com.tofly.entity.pojo.User;
+import com.tofly.entity.pojo.UserInfo;
 import lombok.AllArgsConstructor;
 import lombok.SneakyThrows;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.cache.Cache;
 import org.springframework.cache.CacheManager;
+import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.security.core.AuthenticationException;
 import org.springframework.security.core.GrantedAuthority;
 import org.springframework.security.core.authority.AuthorityUtils;
@@ -37,7 +38,7 @@ public class ToFlyUserDetailsService implements UserDetailsService {
 
     private final CacheManager cacheManager;
     private final BaseUserService baseUserService;
-
+    private final RedisTemplate redisTemplate;
 
     @Override
     @SneakyThrows
@@ -67,7 +68,7 @@ public class ToFlyUserDetailsService implements UserDetailsService {
         }
 
         UserInfo userInfo=result.getResult();
-        SysUser user=userInfo.getSysUser();
+        User user=userInfo.getSysUser();
         if(CommonConstants.USER_STUTAS_FAIL.equals(user.getStatusFlag())){
             throw new UserCheckAuthenticationException("用户已处于禁用状态,不能登录");
         }
@@ -92,9 +93,8 @@ public class ToFlyUserDetailsService implements UserDetailsService {
 
         Collection<? extends GrantedAuthority> authorities
                 = AuthorityUtils.createAuthorityList(dbauthSet.toArray(new String[0]));
-
         return new ToflyUser(user.getPwderrtimes(),user.getId(),user.getDepartmentId(),user.getUserLevel(),
-                user.getRealName(),user.getDepartemntName(),user.getAvatar(),
+                user.getRealName(),user.getDepartmentName(),user.getAvatar(),
                 user.getUsername(),/*SecurityConstants.BCRYPT+*/user.getPassword(),
                 CommonConstants.STATUS_NORMAL.equals(user.getLockFlag()),true,
                 true,true,authorities);

+ 1 - 1
tofly-auth/src/main/java/com/tofly/auth/oauth/UserLoginConfiguration.java

@@ -1,6 +1,6 @@
 package com.tofly.auth.oauth;
 
-import com.tofly.base.api.feign.BaseUserLoginService;
+import com.tofly.auth.feign.BaseUserLoginService;
 import lombok.AllArgsConstructor;
 import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication;
 import org.springframework.context.annotation.Bean;

+ 4 - 4
tofly-auth/src/main/resources/bootstrap.yml

@@ -2,15 +2,15 @@ spring:
   cloud:
     nacos:
       config:
-        # nacos指定空间
+        # nacos配置中心指定空间
         namespace: 3038570d-109a-41aa-9e64-84a53dd01b3a
         # nacos部署IP
-        server-addr: 192.168.2.203:8848
+        server-addr: 192.168.2.231:8848
         # 配置后缀
         file-extension: yaml
       discovery:
         namespace: 3038570d-109a-41aa-9e64-84a53dd01b3a
-        server-addr: 192.168.2.203:8848
+        server-addr: 192.168.2.231:8848
   application:
     # 该应用在nacos配置中的名称
-    name: tofly-auth
+    name: tofly-auth