83 lines
2.2 KiB
C#
83 lines
2.2 KiB
C#
|
|
using System;
|
|||
|
|
using System.Collections.Generic;
|
|||
|
|
using System.Data;
|
|||
|
|
using System.Linq;
|
|||
|
|
|
|||
|
|
namespace Infrastructure.Model
|
|||
|
|
{
|
|||
|
|
public class TokenModel
|
|||
|
|
{
|
|||
|
|
/// <summary>
|
|||
|
|
/// 用户id
|
|||
|
|
/// </summary>
|
|||
|
|
public long UserId { get; set; }
|
|||
|
|
/// <summary>
|
|||
|
|
/// 部门id
|
|||
|
|
/// </summary>
|
|||
|
|
public long DeptId { get; set; }
|
|||
|
|
/// <summary>
|
|||
|
|
/// 登录用户名
|
|||
|
|
/// </summary>
|
|||
|
|
public string UserName { get; set; }
|
|||
|
|
/// <summary>
|
|||
|
|
/// 用户昵称
|
|||
|
|
/// </summary>
|
|||
|
|
public string NickName { get; set; }
|
|||
|
|
/// <summary>
|
|||
|
|
/// 角色集合(eg:admin,common)
|
|||
|
|
/// </summary>
|
|||
|
|
public List<string> RoleKeys { get; set; } = [];
|
|||
|
|
/// <summary>
|
|||
|
|
/// 角色集合(数据权限过滤使用)
|
|||
|
|
/// </summary>
|
|||
|
|
public List<Roles> Roles { get; set; }
|
|||
|
|
/// <summary>
|
|||
|
|
/// Jwt过期时间
|
|||
|
|
/// </summary>
|
|||
|
|
public DateTime ExpireTime { get; set; }
|
|||
|
|
/// <summary>
|
|||
|
|
/// 租户ID
|
|||
|
|
/// </summary>
|
|||
|
|
public string TenantId { get; set; }
|
|||
|
|
/// <summary>
|
|||
|
|
/// 用户所有权限
|
|||
|
|
/// </summary>
|
|||
|
|
public List<string> Permissions { get; set; } = [];
|
|||
|
|
public TokenModel()
|
|||
|
|
{
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public TokenModel(TokenModel info, List<Roles> roles)
|
|||
|
|
{
|
|||
|
|
UserId = info.UserId;
|
|||
|
|
UserName = info.UserName;
|
|||
|
|
DeptId = info.DeptId;
|
|||
|
|
Roles = roles;
|
|||
|
|
NickName = info.NickName;
|
|||
|
|
RoleKeys = roles.Select(f => f.RoleKey).ToList();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public bool HasPermission(string permission)
|
|||
|
|
{
|
|||
|
|
if (IsAdmin()) return true;
|
|||
|
|
return Permissions != null && Permissions.Contains(permission);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 是否管理员
|
|||
|
|
/// </summary>
|
|||
|
|
/// <returns></returns>
|
|||
|
|
public bool IsAdmin()
|
|||
|
|
{
|
|||
|
|
return RoleKeys.Contains(GlobalConstant.AdminRole) || UserId == 1;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public class Roles
|
|||
|
|
{
|
|||
|
|
public long RoleId { get; set; }
|
|||
|
|
public string RoleKey { get; set; }
|
|||
|
|
public int DataScope { get; set; }
|
|||
|
|
}
|
|||
|
|
}
|