Kairos

Results 7 comments of Kairos

> @SaCheckOr > > > ### 建议增加的新功能: > > 能否让@SaCheckApiKey和@SaCheckPermission自动选择性校验? > > ### 应用场景阐述: > > 在做ApiKey模块的时候,碰到一个问题,原本例如增删改查的接口,也想着需要用ApiKey调用,而不用重新去专门写apikey可调用的接口,但是这个接口在用户正常登录的时候,拥有对应权限也可以访问,后来就有了下面的设想,代码如下: > > ![Image](https://github.com/user-attachments/assets/4a690574-4752-4532-a28a-719bd098f22e) > > 当我把@SaCheckApiKey和@SaCheckPermission放在一起后,选择直接登录调用接口,却显示“无效ApiKey”,能否在传有apikey参数的时候走@SaCheckApiKey,没有则正常走@SaCheckPermission校验呢? > > 如果不可行,请告知我不能这样做的理由,谢谢大佬!!! > > < 备注:请尽量详细描述功能应用场景...

我修改了sa-token-core,在@SaCheckOr增加的apikey相关的代码,自己已经通过测试了,可以合并嘛 @click33

这个应该不用基于任何框架吧,自己就可以用aop切入controller使用,我这边主要是为了打印日志而获取请求远程ip的,如下: ```java /** * 使用 Nginx 进行反向代理,这个方法主要是用来获取远程 IP * * @param request 当前请求 */ public String getRemoteIp(HttpServletRequest request) { String ip = request.getHeader("x-forwarded-for"); if (StrUtil.isBlank(ip) || "unknown".equalsIgnoreCase(ip)) { ip =...

针对这个问题,在 #774 中我已经提出了,可以参考一下

针对你的问题,我也复现了,是 #774 的一个延申问题。 后面我是这么解决的: - 在StpUtil.checkLogin()之前,notMatch()你需要给apikey开放的路径 - 在接口处只要这样写,就可以在仅token或者仅apikey的情况下成功访问了,其中@SaCheckPermission可以换成其他需要校验token的注解即可

> 针对你的问题,我也复现了,是 [#774](https://github.com/dromara/Sa-Token/issues/774) 的一个延申问题。 后面我是这么解决的: > > * 在StpUtil.checkLogin()之前,notMatch()你需要给apikey开放的路径 > * 在接口处只要这样写,就可以在仅token或者仅apikey的情况下成功访问了,其中@SaCheckPermission可以换成其他需要校验token的注解即可 其中@SaCheckOr中的api是我自己修改sa-token-core中的注释源码后打包后才会有的,目前已经提交了合并请求,作者还没有采纳

> > 针对你的问题,我也复现了,是 [#774](https://github.com/dromara/Sa-Token/issues/774) 的一个延申问题。 后面我是这么解决的: > > > > * 在StpUtil.checkLogin()之前,notMatch()你需要给apikey开放的路径 > > * 在接口处只要这样写,就可以在仅token或者仅apikey的情况下成功访问了,其中@SaCheckPermission可以换成其他需要校验token的注解即可 > > 其中@SaCheckOr中的api是我自己修改sa-token-core中的注释源码后打包后才会有的,目前已经提交了合并请求,作者还没有采纳 图片上传出现了问题,我在这里贴出示例 @GetMapping("/request") @SaCheckOr( apikey = @SaCheckApiKey, permission = @SaCheckPermission("request") ) public...