跳过登录直接调用接口
示例:
- 在yaml文件里面配置上该函数的namespace(模型编码)以及函数名字
pamirs: auth: fun-filter: - namespace: user.PamirsUserTransient fun: login #登录 - namespace: top.PetShop fun: action
不跳过登录直接调用接口
示例:
- 在yaml文件里面配置上该函数的namespace(模型编码)以及函数名字
pamirs: auth: fun-filter-only-login: #登录后不再校验该函数的权限 - namespace: top.PetShop fun: action
按包设置权限过滤
- 如何批量跳过权限验证?以上两种方式提供了在yml文件里面配置权限过滤的方式,但如果需要大量过滤权限,配置就变得很繁琐,所以下面主要介绍通过代码扩展的方式去控制权限。
示例:
-
以下示例通过控制包路径来跳过权限。
-
继承pro.shushi.pamirs.auth.api.spi.AuthFilterService接口
@Order(88) @Component public class CustomAuthFilterService implements AuthFilterService { public static final String skipClass = "pro.shushi.pamirs.top.core.action"; @Override public Boolean isAccessAction(String model, String name) { //从缓存中取函数 Action cacheAction = PamirsSession.getContext().getExtendCache(ActionCacheApi.class).get(model, name); if (cacheAction instanceof ServerAction) { ServerAction serverAction = (ServerAction) cacheAction; Function function = PamirsSession.getContext().getFunction(serverAction.getModel(), serverAction.getFun()); String clazz = function.getClazz(); //返回true就代表通过验证 if (clazz != null && clazz.startsWith(skipClass)) { return true; } } return null; } }
请求
pro.shushi.pamirs.top.core.action
路径下的动作可以通过验证。
Oinone社区 作者:yexiu原创文章,如若转载,请注明出处:https://doc.oinone.top/wen-ti-zhen-duan/16299.html
访问Oinone官网:https://www.oinone.top获取数式Oinone低代码应用平台体验