using System;
using System.Collections.Generic;
using System.Linq;
using System.Security.Claims;
using System.Text;
using System.Threading.Tasks;
namespace WIDESEA_Core.HttpContextUser
{
public interface IUser
{
///
/// 名称
///
string UserName { get; }
///
/// UserId
///
int UserId { get; }
///
/// 租户ID
///
long TenantId { get; }
int RoleId { get; }
string Token { get; }
int MenuType { get; }
///
/// 更新用户令牌
///
/// 新的令牌字符串
void UpdateToke(string token);
///
/// 判断当前用户是否已认证
///
/// 如果用户已认证返回true,否则返回false
bool IsAuthenticated();
///
/// 获取用户身份声明集合
///
/// 包含用户身份声明的可枚举集合
IEnumerable GetClaimsIdentity();
///
/// 根据声明类型获取声明值列表
///
/// 要查询的声明类型
/// 匹配指定类型的声明值列表
List GetClaimValueByType(string ClaimType);
///
/// 获取当前用户的认证令牌
///
/// 用户认证令牌字符串
string GetToken();
///
/// 从令牌中获取指定类型的用户信息
///
/// 要获取的声明类型
/// 包含用户信息的字符串列表
List GetUserInfoFromToken(string ClaimType);
bool IsSuperAdmin { get; }
///
/// 判断指定角色ID是否为超级管理员
///
/// 要检查的角色ID
/// 如果是超级管理员返回true,否则返回false
bool IsRoleIdSuperAdmin(int roleId);
}
}