Files
senmesh-zc/src/main/java/com/newyetai/security/decision/manager/SecurityDecisionManager.java
ran.shang 7e38b8d971 init
2025-06-11 09:42:13 +08:00

46 lines
1.3 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
package com.newyetai.security.decision.manager;
import java.util.Collection;
import org.springframework.security.access.ConfigAttribute;
import org.springframework.security.core.userdetails.UserDetails;
import com.newyetai.usercenter.authority.dto.PermissionQueryDTO;
import com.newyetai.usercenter.dto.Resource;
/**
* 权限决策管理器。<br>
* 实现{@link org.springframework.security.access.SecurityMetadataSource}来<br>
* 提供自己定义资源的权限信息,就可以实现权限决策判断
*
* @author on 2019-11-05
*/
public interface SecurityDecisionManager {
/**
* 决策给定的资源,当前登录用户是否有权限
*
* @param resource 资源
* @return 结果。true为有权限,否则没有
*/
boolean decide(Resource resource, PermissionQueryDTO permissionQueryDTO);
/**
* 根据资源获取权限信息
*
* @param resource 资源
* @return 权限列表
*/
Collection<ConfigAttribute> findConfigAttributes(Resource resource, PermissionQueryDTO permissionQueryDTO);
/**
* 决策给定的资源,给定用户是否有权限
*
* @param userDetails 用户实体
* @param resource 资源
* @return 结果。true为有权限,否则没有
* @author sr on 2019-10-16
*/
boolean decide(UserDetails userDetails, Resource resource, PermissionQueryDTO permissionQueryDTO);
}