/** * Copyright (c) 2018-2028, Chill Zhuang 庄骞 (smallchill@163.com). *

* Licensed under the GNU LESSER GENERAL PUBLIC LICENSE; * you may not use this file except in compliance with the License. * You may obtain a copy of the License at *

* http://www.gnu.org/licenses/lgpl.html *

* 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. */ package org.springblade.core.secure.auth; import org.springblade.core.secure.utils.SecureUtil; import org.springblade.core.tool.constant.RoleConstant; import org.springblade.core.tool.utils.CollectionUtil; import org.springblade.core.tool.utils.Func; import org.springblade.core.tool.utils.StringUtil; /** * 权限判断 */ public class AuthFun { /** * 放行所有请求 * * @return {boolean} */ public boolean permitAll() { return true; } /** * 只有超管角色才可访问 * * @return {boolean} */ public boolean denyAll() { return hasRole(RoleConstant.ADMIN); } /** * 判断是否有该角色权限 * * @param role 单角色 * @return {boolean} */ public boolean hasRole(String role) { return hasAnyRole(role); } /** * 判断是否有该角色权限 * * @param role 角色集合 * @return {boolean} */ public boolean hasAnyRole(String... role) { String userRole = SecureUtil.getUser().getRoleName(); if (StringUtil.isBlank(userRole)) { return false; } String[] roles = Func.toStrArray(userRole); if (CollectionUtil.contains(roles, role)) { return true; } return false; } }