package com.qianwen.core.secure.auth;
|
|
import com.qianwen.core.secure.BladeUser;
|
import com.qianwen.core.secure.constant.AuthConstant;
|
import com.qianwen.core.secure.handler.IPermissionHandler;
|
import com.qianwen.core.secure.utils.AuthUtil;
|
import com.qianwen.core.tool.utils.CollectionUtil;
|
import com.qianwen.core.tool.utils.DateUtil;
|
import com.qianwen.core.tool.utils.Func;
|
import com.qianwen.core.tool.utils.SpringUtil;
|
import com.qianwen.core.tool.utils.StringUtil;
|
|
/* loaded from: blade-core-secure-9.3.0.0-SNAPSHOT.jar:org/springblade/core/secure/auth/AuthFun.class */
|
public class AuthFun {
|
private static IPermissionHandler permissionHandler;
|
|
private static IPermissionHandler getPermissionHandler() {
|
if (permissionHandler == null) {
|
permissionHandler = (IPermissionHandler) SpringUtil.getBean(IPermissionHandler.class);
|
}
|
return permissionHandler;
|
}
|
|
public boolean permissionAll() {
|
return getPermissionHandler().permissionAll();
|
}
|
|
public boolean hasPermission(String permission) {
|
return getPermissionHandler().hasPermission(permission);
|
}
|
|
public boolean permitAll() {
|
return true;
|
}
|
|
public boolean denyAll() {
|
return hasRole(AuthConstant.ADMIN);
|
}
|
|
public boolean hasAuth() {
|
return Func.isNotEmpty(AuthUtil.getUser());
|
}
|
|
public boolean hasTimeAuth(Integer start, Integer end) {
|
Integer hour = DateUtil.hour();
|
return hour.intValue() >= start.intValue() && hour.intValue() <= end.intValue();
|
}
|
|
public boolean hasRole(String role) {
|
return hasAnyRole(role);
|
}
|
|
public boolean hasAllRole(String... role) {
|
for (String r : role) {
|
if (!hasRole(r)) {
|
return false;
|
}
|
}
|
return true;
|
}
|
|
public boolean hasAnyRole(String... role) {
|
BladeUser user = AuthUtil.getUser();
|
if (user == null) {
|
return false;
|
}
|
String userRole = user.getRoleName();
|
if (StringUtil.isBlank(userRole)) {
|
return false;
|
}
|
String[] roles = Func.toStrArray(userRole);
|
for (String r : role) {
|
if (CollectionUtil.contains(roles, r)) {
|
return true;
|
}
|
}
|
return false;
|
}
|
|
public boolean hasApiPermission() {
|
return getPermissionHandler().hasApiPermission();
|
}
|
}
|