🔖 发布一个版本。 v 1.6.1

This commit is contained in:
冷冷 committed 2018-09-16 18:58:59 +08:00
1 parent 1d25c31e0c
commit 83005acfc1
29 files changed
+313 -104

No files matched your search

@@ -20,6 +20,7 @@
package com.pig4cloud.pigx.auth.config;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.pig4cloud.pigx.common.security.filter.TenantIdTtlFilter;
import com.pig4cloud.pigx.common.security.mobile.MobileLoginSuccessHandler;
import com.pig4cloud.pigx.common.security.mobile.MobileSecurityConfigurer;
import com.pig4cloud.pigx.common.security.service.PigxUserDetailsService;
@@ -35,6 +36,7 @@ import org.springframework.security.config.annotation.web.configuration.WebSecur
import org.springframework.security.crypto.factory.PasswordEncoderFactories;
import org.springframework.security.crypto.password.PasswordEncoder;
import org.springframework.security.oauth2.provider.ClientDetailsService;
import org.springframework.security.oauth2.provider.authentication.OAuth2AuthenticationProcessingFilter;
import org.springframework.security.oauth2.provider.token.AuthorizationServerTokenServices;
import org.springframework.security.web.authentication.AuthenticationSuccessHandler;
@@ -24,6 +24,7 @@ import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.plugins.Page;
import com.pig4cloud.pigx.common.core.util.R;
import com.pig4cloud.pigx.common.security.service.PigxUser;
import com.pig4cloud.pigx.common.security.util.SecurityUtils;
import lombok.AllArgsConstructor;
import org.springframework.data.redis.core.ConvertingCursor;
import org.springframework.data.redis.core.Cursor;
@@ -128,19 +129,14 @@ public class PigxTokenEndpoint {
if (authentication instanceof UsernamePasswordAuthenticationToken) {
UsernamePasswordAuthenticationToken authenticationToken = (UsernamePasswordAuthenticationToken) authentication;
if (authenticationToken.getPrincipal() instanceof PigxUser) {
PigxUser user = (PigxUser) authenticationToken.getPrincipal();
map.put("user_id", user.getId() + "");
map.put("user_name", user.getUsername() + "");
if (extractToken(map, authenticationToken.getPrincipal())) {
continue;
}
} else if (authentication instanceof PreAuthenticatedAuthenticationToken) {
//刷新token方式
PreAuthenticatedAuthenticationToken authenticationToken = (PreAuthenticatedAuthenticationToken) authentication;
if (authenticationToken.getPrincipal() instanceof PigxUser) {
PigxUser user = (PigxUser) authenticationToken.getPrincipal();
map.put("user_id", user.getId() + "");
map.put("user_name", user.getUsername() + "");
if (extractToken(map, authenticationToken.getPrincipal())) {
continue;
}
}
list.add(map);
@@ -152,12 +148,22 @@ public class PigxTokenEndpoint {
return result;
}
private boolean extractToken(Map<String, String> map, Object principal) {
if (principal instanceof PigxUser) {
PigxUser user = (PigxUser) principal;
if (!user.getTenantId().equals(SecurityUtils.getTenantId())) {
return true;
}
map.put("user_id", user.getId() + "");
map.put("user_name", user.getUsername() + "");
}
return false;
}
private List<String> findKeysForPage(String patternKey, int pageNum, int pageSize) {
ScanOptions options = ScanOptions.scanOptions().match(patternKey).build();
RedisSerializer<String> redisSerializer = (RedisSerializer<String>) redisTemplate.getKeySerializer();
Cursor cursor = (Cursor) redisTemplate.executeWithStickyConnection(redisConnection -> {
return new ConvertingCursor<>(redisConnection.scan(options), redisSerializer::deserialize);
});
Cursor cursor = (Cursor) redisTemplate.executeWithStickyConnection(redisConnection -> new ConvertingCursor<>(redisConnection.scan(options), redisSerializer::deserialize));
List<String> result = new ArrayList<>();
int tmpIndex = 0;
int startIndex = (pageNum - 1) * pageSize;