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 SystemType { get; }
        /// 
        /// 是否认证
        /// 
        /// 
        bool IsAuthenticated();
        IEnumerable GetClaimsIdentity();
        List GetClaimValueByType(string ClaimType);
        string GetToken();
        List GetUserInfoFromToken(string ClaimType);
        bool IsSuperAdmin {  get; }
        bool IsRoleIdSuperAdmin(int roleId);
        List Permissions { get; }
        UserInfo GetCurrentUserInfo();
        //MessageModel MessageModel { get; set; }
    }
}