com.yanyun.auth.util.AuthUtils Maven / Gradle / Ivy
package com.yanyun.auth.util;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import org.springframework.util.StringUtils;
import java.util.*;
/**
* 为了便于权限的封装与解析,提供工具类
*/
public class AuthUtils {
/**
* 用于将角色信息封装为合法的JSON字符串信息,会自动添加roles头信息
* @param auth 参数为可变字符串,用于接收多个权限信息,权限不需要ROLE开头
* @return
*/
public static String toAuthStr(String... auth){
List auths = Arrays.asList(auth);
Map authMap = new HashMap();
authMap.put("roles",auths);
return JSON.toJSONString(authMap);
}
/**
* 用于将角色信息封装为合法的JSON字符串信息,会自动添加roles头信息
* @param auths 接收list集合,泛型为String类型 权限不需要ROLE开头
* @return
*/
public static String toAuthStr(List auths){
Map authMap = new HashMap();
authMap.put("roles",auths);
return JSON.toJSONString(authMap);
}
/**
* 用于将角色信息封装为合法的JSON字符串信息,会自动添加roles头信息
* @param auths 接收set集合,泛型为String类型 权限不需要ROLE开头
* @return
*/
public static String toAuthStr(Set auths){
Map authMap = new HashMap();
authMap.put("roles",auths);
return JSON.toJSONString(authMap);
}
/**
* 从字符串中解析角色信息为List集合,泛型为list
* @param auths
* @return
*/
public static List getListAuthsFromStr(String auths){
List roles = new ArrayList<>();
if(!StringUtils.isEmpty(auths)){
JSONObject jsonObject = JSON.parseObject(auths);
if(null!=jsonObject.get("roles")){
roles = (List) jsonObject.get("roles");
}
}
return roles;
}
/**
* 从字符串中解析角色信息为List集合,泛型为set
* @param auths
* @return
*/
public static Set getSetAuthsFromStr(String auths){
return new HashSet<>(getListAuthsFromStr(auths));
}
}