public static void ValidateAuthentication_new(string userToken, out string userId) { try { var rlt = UserTokenHandler.AnalyzeUserToken(userToken); if (!rlt.ContainsKey("LI")) { throw new Exception("UserToken不完整,缺少UserId信息"); } userId = rlt["LI"]; } catch (Exception ex) { throw new Exception("用户身份验证失败,请检查是否已登录", ex); } }
/// <summary> /// 验证用户身份及权限,并返回用户名称 /// </summary> public static Dictionary <string, string> ValidateAuthentication(string userToken, string needRight, string functionId, params string[] keys) { var dic = UserTokenHandler.AnalyzeUserToken(userToken); if (!dic.ContainsKey("IA") || dic["IA"] != "IA") { if (!dic[functionId].Contains(needRight)) { throw new Exception("权限不足"); } } var rlt = new Dictionary <string, string>(keys.Length); foreach (var key in keys) { rlt.Add(key, dic[key]); } return(rlt); }