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.service.LoginService;
import cn.chjyj.szwh.service.UserService;
import cn.chjyj.szwh.utils.SignUtils;
import com.alibaba.fastjson.JSONObject;
import com.auth0.jwt.JWT;
import com.auth0.jwt.interfaces.Claim;
@ -77,21 +78,32 @@ public class AdminUserController extends BaseController {
String token = request.getHeader("token");
String murl= request.getHeader("url");
List retlist = new ArrayList();
Map retmap = new HashMap();
//解析token中到信息
DecodedJWT decode = JWT.decode(token);
//获取claim信息
Map<String,Claim> pcmap = decode.getClaims();
retlist.add(pcmap);
String accountid = decode.getClaim("accountId").asString();
String accountId = decode.getClaim("accountId").asString();
retmap.put("accountId",accountId);
String accountName = decode.getClaim("accountName").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 retmap = new HashMap();
Map auth = loginService.checkUser(accountId,murl,token);
retmap.put("auth",auth.get("data"));
retlist.add(retmap);
//for deubug
//retmap.put("auth","adminauth");
jsonObject.put("code",200);
jsonObject.put("data",retlist);
jsonObject.put("data",retmap);
jsonObject.put("msg","成功");
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.logging.Log;
import org.apache.commons.logging.LogFactory;
import sun.misc.BASE64Decoder;
import java.io.BufferedReader;
import java.io.FileReader;
import java.security.KeyFactory;
import java.security.NoSuchAlgorithmException;
import java.security.interfaces.RSAPrivateKey;
import java.security.interfaces.RSAPublicKey;
import java.security.spec.InvalidKeySpecException;
import java.security.spec.PKCS8EncodedKeySpec;
import java.security.spec.X509EncodedKeySpec;
import java.util.Calendar;
@ -162,7 +160,7 @@ public class SignUtils {
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();
//解析指定token
@ -183,10 +181,8 @@ public class SignUtils {
* 抽取公钥
* @param publicKey
* @return
* @throws NoSuchAlgorithmException
* @throws InvalidKeySpecException
*/
public static RSAPublicKey getPublicKey(String publicKey) throws NoSuchAlgorithmException, InvalidKeySpecException {
public static RSAPublicKey getPublicKey(String publicKey) {
// 读取证书文件内容
String keycontent = getKeyContent(publicKey);
// 剔除证书中的换行符

Loading…
Cancel
Save