【8.0】【auth】更新权限校验远程接口

pull/57/head
fengshuonan 2023-08-07 22:58:27 +08:00
parent f9347ab6f7
commit 17446a5bb1
2 changed files with 115 additions and 0 deletions

View File

@ -0,0 +1,55 @@
/*
* Copyright [2020-2030] [https://www.stylefeng.cn]
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* GunsAPACHE LICENSE 2.0使
*
* 1.LICENSE
* 2.Guns
* 3.
* 4. https://gitee.com/stylefeng/guns
* 5. https://gitee.com/stylefeng/guns
* 6.
*/
package cn.stylefeng.roses.kernel.auth.api.remote;
import cn.stylefeng.roses.kernel.auth.api.exception.AuthException;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
/**
*
*
* @author fengshuonan
* @since 2020/10/19 14:24
*/
public interface CheckPermissionApi {
/**
*
* <p>
*
*
* @param token token
* @param requestUrl url
* @return truefalse
* @throws AuthException
* @author fengshuonan
* @since 2020/10/19 14:50
*/
@RequestMapping(value = "/remoteApi/checkPermission", method = RequestMethod.GET)
Boolean remoteCheckPermission(@RequestParam("token") String token, @RequestParam("requestUrl") String requestUrl);
}

View File

@ -0,0 +1,60 @@
/*
* Copyright [2020-2030] [https://www.stylefeng.cn]
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* GunsAPACHE LICENSE 2.0使
*
* 1.LICENSE
* 2.Guns
* 3.
* 4. https://gitee.com/stylefeng/guns
* 5. https://gitee.com/stylefeng/guns
* 6.
*/
package cn.stylefeng.roses.kernel.sys.modular.login.provider;
import cn.stylefeng.roses.kernel.auth.api.PermissionServiceApi;
import cn.stylefeng.roses.kernel.auth.api.exception.AuthException;
import cn.stylefeng.roses.kernel.auth.api.remote.CheckPermissionApi;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
/**
*
*
* @author fengshuonan
* @since 2023/8/7 21:23
*/
@Slf4j
@RestController
public class PermissionCheckProvider implements CheckPermissionApi {
@Resource
private PermissionServiceApi permissionServiceApi;
@Override
public Boolean remoteCheckPermission(@RequestParam("token") String token, @RequestParam("requestUrl") String requestUrl) {
try {
permissionServiceApi.checkPermission(token, requestUrl);
} catch (AuthException e) {
log.error("权限校验失败token={}, requestUrl={}", token, requestUrl, e);
return false;
}
return true;
}
}