Browse Source

优化显示格式

master
xyiege 4 years ago
parent
commit
ca73e9f48f
  1. 30
      src/main/java/cn/chjyj/szwh/controller/admin/AdminUserController.java
  2. 10
      src/main/java/cn/chjyj/szwh/utils/SignUtils.java

30
src/main/java/cn/chjyj/szwh/controller/admin/AdminUserController.java

@ -4,6 +4,7 @@ import cn.chjyj.szwh.bean.User;
import cn.chjyj.szwh.controller.BaseController; import cn.chjyj.szwh.controller.BaseController;
import cn.chjyj.szwh.service.LoginService; import cn.chjyj.szwh.service.LoginService;
import cn.chjyj.szwh.service.UserService; import cn.chjyj.szwh.service.UserService;
import cn.chjyj.szwh.utils.SignUtils;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.auth0.jwt.JWT; import com.auth0.jwt.JWT;
import com.auth0.jwt.interfaces.Claim; import com.auth0.jwt.interfaces.Claim;
@ -77,21 +78,32 @@ public class AdminUserController extends BaseController {
String token = request.getHeader("token"); String token = request.getHeader("token");
String murl= request.getHeader("url"); String murl= request.getHeader("url");
List retlist = new ArrayList(); Map retmap = new HashMap();
//解析token中到信息 //解析token中到信息
DecodedJWT decode = JWT.decode(token); DecodedJWT decode = JWT.decode(token);
//获取claim信息 String accountId = decode.getClaim("accountId").asString();
Map<String,Claim> pcmap = decode.getClaims(); retmap.put("accountId",accountId);
retlist.add(pcmap); String accountName = decode.getClaim("accountName").asString();
String accountid = decode.getClaim("accountId").asString(); retmap.put("accountName",accountName);
String aud = decode.getClaim("aud").asString();
retmap.put("aud",aud);
Long iat= decode.getClaim("iat").asLong();
retmap.put("iat",iat);
String jti =decode.getClaim("jti").asString();
retmap.put("jti",jti);
//权限列表
String[] menuPermission= decode.getClaim("menuPermission").asArray(String.class);
retmap.put("menuPermission",menuPermission);
// 用户权限 // 用户权限
Map auth = loginService.checkUser(accountid,murl,token); Map auth = loginService.checkUser(accountId,murl,token);
Map retmap = new HashMap();
retmap.put("auth",auth.get("data")); retmap.put("auth",auth.get("data"));
retlist.add(retmap); //for deubug
//retmap.put("auth","adminauth");
jsonObject.put("code",200); jsonObject.put("code",200);
jsonObject.put("data",retlist); jsonObject.put("data",retmap);
jsonObject.put("msg","成功"); jsonObject.put("msg","成功");
return jsonObject; return jsonObject;
} }

10
src/main/java/cn/chjyj/szwh/utils/SignUtils.java

@ -11,15 +11,13 @@ import com.auth0.jwt.interfaces.DecodedJWT;
import org.apache.commons.codec.binary.Base64; import org.apache.commons.codec.binary.Base64;
import org.apache.commons.logging.Log; import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory; import org.apache.commons.logging.LogFactory;
import sun.misc.BASE64Decoder;
import java.io.BufferedReader; import java.io.BufferedReader;
import java.io.FileReader; import java.io.FileReader;
import java.security.KeyFactory; import java.security.KeyFactory;
import java.security.NoSuchAlgorithmException;
import java.security.interfaces.RSAPrivateKey; import java.security.interfaces.RSAPrivateKey;
import java.security.interfaces.RSAPublicKey; import java.security.interfaces.RSAPublicKey;
import java.security.spec.InvalidKeySpecException;
import java.security.spec.PKCS8EncodedKeySpec; import java.security.spec.PKCS8EncodedKeySpec;
import java.security.spec.X509EncodedKeySpec; import java.security.spec.X509EncodedKeySpec;
import java.util.Calendar; import java.util.Calendar;
@ -162,7 +160,7 @@ public class SignUtils {
String pubkey=(String) xmap.get("public_key"); String pubkey=(String) xmap.get("public_key");
// 公钥证书 // 公钥证书
// 读取证书内容 // 读取证书内容
RSAPublicKey rsaPublicKey = getPublicKey(pubkey); RSAPublicKey rsaPublicKey = getPublicKey(ChConstant.WORK_DIR + "/" +pubkey);
// 解析对象,算法与加密时候一致 // 解析对象,算法与加密时候一致
JWTVerifier jwtVerifier = JWT.require(Algorithm.RSA256(rsaPublicKey,null)).build(); JWTVerifier jwtVerifier = JWT.require(Algorithm.RSA256(rsaPublicKey,null)).build();
//解析指定token //解析指定token
@ -183,10 +181,8 @@ public class SignUtils {
* 抽取公钥 * 抽取公钥
* @param publicKey * @param publicKey
* @return * @return
* @throws NoSuchAlgorithmException
* @throws InvalidKeySpecException
*/ */
public static RSAPublicKey getPublicKey(String publicKey) throws NoSuchAlgorithmException, InvalidKeySpecException { public static RSAPublicKey getPublicKey(String publicKey) {
// 读取证书文件内容 // 读取证书文件内容
String keycontent = getKeyContent(publicKey); String keycontent = getKeyContent(publicKey);
// 剔除证书中的换行符 // 剔除证书中的换行符

Loading…
Cancel
Save