非羁押人员管理平台
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

130 lines
2.9 KiB

3 months ago
using ATS.NonCustodial.Shared.Common.Enums;
using System.ComponentModel.DataAnnotations;
3 months ago
using System.Security.Claims;
namespace ATS.NonCustodial.Shared.Common.Auth
{
/// <summary>
/// 用户信息接口
/// </summary>
/// Author:mxg
/// CreatedTimed:2022-05-15 10:08 PM
public interface IUser
{
/// <summary>
/// 主键
/// </summary>
long Id { get; }
/// <summary>
/// 用户名
/// </summary>
string Name { get; }
/// <summary>
/// 单位Id
/// </summary>
long UnitId { get; }
/// <summary>
/// 部门Id
/// </summary>
long DeptcodeId { get; }
/// <summary>
/// 头像
/// </summary>
string Avatar { get; }
/// <summary>
/// 手机号
/// </summary>
string Phone { get; }
/// <summary>
///
/// </summary>
ChatPersonTypeEnum ChatPersonType { get; }
/// <summary>
/// 昵称
/// </summary>
string NickName { get; }
/// <summary>
/// 查询界限
/// </summary>
string limits { get; }
3 months ago
/// <summary>
/// 租户Id
/// </summary>
long? TenantId { get; }
/// <summary>
/// 角色Id列表
/// </summary>
List<long> RoleList { get; }
/// <summary>
/// 组织机构
/// </summary>
List<long> OrgList { get; }
/// <summary>
/// 租户类型(1:平台 2:租户)
/// <see cref="TenantTypeEnum"/>
/// </summary>
TenantTypeEnum? TenantType { get; }
/// <summary>
/// 数据隔离类型(1:独立数据库 2:独立数据表 3:独立架构 4:共享数据库)
/// <see cref="DataIsolationTypeEnum"/>
/// </summary>
DataIsolationTypeEnum? DataIsolationType { get; }
/// <summary>
/// 请求的Ip地址
/// </summary>
string? RemoteIpAddress { get; }
/// <summary>
///
/// </summary>
/// <returns></returns>
bool IsAuthenticated();
/// <summary>
///
/// </summary>
/// <returns></returns>
IEnumerable<Claim> GetClaimsIdentity();
/// <summary>
///
/// </summary>
/// <param name="claimType"></param>
/// <returns></returns>
List<string> GetClaimValueByType(string claimType);
/// <summary>
///
/// </summary>
/// <returns></returns>
string? GetToken();
/// <summary>
///
/// </summary>
/// <param name="claimType"></param>
/// <returns></returns>
List<string> GetUserInfoFromToken(string claimType);
/// <summary>
/// 注销账户
/// </summary>
/// <returns></returns>
Task LoginOutAsync();
}
}