feat: 基本功能完成

This commit is contained in:
王永亮
2022-11-18 16:51:55 +08:00
parent 8ce4354fd6
commit 6652fa0a04
8 changed files with 52 additions and 12 deletions
+4 -4
View File
@@ -27,9 +27,9 @@
<groupId>com.aos</groupId>
<artifactId>aos-swagger</artifactId>
</dependency>
<!-- <dependency>-->
<!-- <groupId>com.aos</groupId>-->
<!-- <artifactId>aos-web</artifactId>-->
<!-- </dependency>-->
<dependency>
<groupId>com.aos</groupId>
<artifactId>aos-web</artifactId>
</dependency>
</dependencies>
</project>
@@ -10,7 +10,7 @@ public class PathConstant {
/**
* API基础路径
*/
final static public String BASE_API = "/aos/auth/api/";
final static public String BASE_API = "/";
/**
* 登录
*/
@@ -2,6 +2,7 @@ package com.aos.auth.controller;
import com.aos.auth.PathConstant;
import com.aos.auth.domain.req.user.LoginUseReq;
import com.aos.auth.domain.vo.resource.ResourceVo;
import com.aos.auth.service.AosAuthLoginService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -28,10 +29,10 @@ public class LoginController {
}
@GetMapping(PathConstant.USER_PREM)
@ApiOperation("获取当前用户权限")
public List<String> userPrem() {
List<String> strings = aosAuthLoginService.userPrem();
return strings;
@ApiOperation("获取当前用户权限")
public List<ResourceVo> userPrem() {
List<ResourceVo> resourceVoList = aosAuthLoginService.userPrem();
return resourceVoList;
}
@GetMapping(PathConstant.LOGOUT)
@@ -1,3 +1,6 @@
server.port=10000
spring.application.name=aos-auth
server.servlet.context-path=/aos/auth/api
spring.datasource.url=jdbc:mysql://wylgyx.top:6003/aos_auth?useUnicode=true&serverTimezone=UTC&characterEncoding=utf8&useSSL=false&autoReconnect=true&failOverReadOnly=false&rewriteBatchedStatements=true
spring.datasource.username=root
spring.datasource.password=Wyl.0629
@@ -14,6 +14,7 @@ import com.aos.auth.mapper.AosAuthResourcesMapper;
import com.aos.auth.service.AosAuthRelationshipService;
import com.aos.auth.service.AosAuthResourcesService;
import com.aos.common.copy.AosBeanUtils;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -24,6 +25,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Collection;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
@@ -203,6 +205,23 @@ public class AosAuthResourcesServiceImpl extends ServiceImpl<AosAuthResourcesMap
ResourceVo resourceVo = AosBeanUtils.copyProperties(byId, ResourceVo::new);
return resourceVo;
}
/**
* 通过权限code获取资源列表
*
* @param authorities
* @return java.util.List<com.aos.auth.domain.vo.resource.ResourceVo>
* @Date 2022/11/18
* @Author wangyl
*/
@Override
public List<ResourceVo> getResourceByPrem(Collection<String> authorities) {
LambdaQueryWrapper<AosAuthResources> aosAuthResourcesLambdaQueryWrapper = Wrappers.lambdaQuery(AosAuthResources.class);
aosAuthResourcesLambdaQueryWrapper.in(AosAuthResources::getResourcePerms, authorities);
List<AosAuthResources> list = this.list(aosAuthResourcesLambdaQueryWrapper);
List<ResourceVo> resourceVoList = AosBeanUtils.copyListProperties(list, ResourceVo::new);
return resourceVoList;
}
}
@@ -2,7 +2,9 @@ package com.aos.auth.service.impl.security;
import com.aos.auth.domain.req.user.LoginUseReq;
import com.aos.auth.domain.security.SecurityUser;
import com.aos.auth.domain.vo.resource.ResourceVo;
import com.aos.auth.service.AosAuthLoginService;
import com.aos.auth.service.AosAuthResourcesService;
import com.aos.common.model.context.CurrentUserContextHolder;
import com.aos.common.model.context.SecurityUserInfo;
import com.aos.common.token.TokenUtilBase;
@@ -26,6 +28,7 @@ import java.util.List;
@AllArgsConstructor
public class AosAuthLoginServiceImpl implements AosAuthLoginService {
final AuthenticationManager authenticationManager;
final AosAuthResourcesService aosAuthResourcesService;
/**
* 用户登录
@@ -51,8 +54,10 @@ public class AosAuthLoginServiceImpl implements AosAuthLoginService {
}
@Override
public List<String> userPrem() {
public List<ResourceVo> userPrem() {
SecurityUserInfo context = CurrentUserContextHolder.getContext();
return context.getAuthorities();
List<String> authorities = context.getAuthorities();
List<ResourceVo> resourceVoList = aosAuthResourcesService.getResourceByPrem(authorities);
return resourceVoList;
}
}
@@ -1,6 +1,7 @@
package com.aos.auth.service;
import com.aos.auth.domain.req.user.LoginUseReq;
import com.aos.auth.domain.vo.resource.ResourceVo;
import java.util.List;
@@ -20,6 +21,6 @@ public interface AosAuthLoginService {
*/
String login(LoginUseReq loginUseReq);
List<String> userPrem();
List<ResourceVo> userPrem();
}
@@ -8,6 +8,7 @@ import com.aos.auth.domain.vo.resource.ResourceVo;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.Collection;
import java.util.List;
/**
@@ -96,4 +97,14 @@ public interface AosAuthResourcesService extends IService<AosAuthResources> {
* @Author wangyl
*/
ResourceVo getDetails(Long resourceId);
/**
* 通过权限code获取资源列表
*
* @param authorities
* @return java.util.List<com.aos.auth.domain.vo.resource.ResourceVo>
* @Date 2022/11/18
* @Author wangyl
*/
List<ResourceVo> getResourceByPrem(Collection<String> authorities);
}