64 lines
2.3 KiB
C#
64 lines
2.3 KiB
C#
|
using System.Collections.Generic;
|
|||
|
using System.Linq;
|
|||
|
using FAuth.DataBase;
|
|||
|
using FAuth.Extensions.Decryptor;
|
|||
|
|
|||
|
namespace FAuth.Extensions.Account
|
|||
|
{
|
|||
|
/// <summary>
|
|||
|
/// 账号帮助类
|
|||
|
/// </summary>
|
|||
|
public class AccountHelper
|
|||
|
{
|
|||
|
/// <summary>
|
|||
|
/// 数据库上下文
|
|||
|
/// </summary>
|
|||
|
public FAuthDb Db { get; set; }
|
|||
|
/// <summary>
|
|||
|
/// 用户凭据加密提供器
|
|||
|
/// </summary>
|
|||
|
public IUserTicketDryptor TicketDryptor { get; set; }
|
|||
|
|
|||
|
public AccountHelper(FAuthDb db,IUserTicketDryptor ticketDryptor) {
|
|||
|
this.Db = db;
|
|||
|
this.TicketDryptor = ticketDryptor;
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 查询用户是否为FAuth系统管理员
|
|||
|
/// </summary>
|
|||
|
/// <param name="userId">用户编号</param>
|
|||
|
/// <returns>是否为FAuth系统管理员</returns>
|
|||
|
public bool IsSystemAdmin(int userId) {
|
|||
|
var qu =
|
|||
|
from arg in this.Db.App_RoleGroups
|
|||
|
join rgr in this.Db.RoleGroup_Roles on arg.RoleGroupId equals rgr.RoleGroupId
|
|||
|
join ru in this.Db.Role_Users on rgr.RoleId equals ru.RoleId
|
|||
|
where arg.AppId == 1 && arg.RoleGroupId == 1 && ru.UserId == userId
|
|||
|
select 1;
|
|||
|
return qu.Any();
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 用户是否不是系统管理员
|
|||
|
/// </summary>
|
|||
|
/// <param name="userId">用户编号</param>
|
|||
|
/// <returns>是否不是管理员</returns>
|
|||
|
public bool IsNotSystemAdmin(int userId) => !IsSystemAdmin(userId);
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 查询票据是否为系统管理员
|
|||
|
/// </summary>
|
|||
|
/// <param name="userTicket">用户票据</param>
|
|||
|
/// <returns>是管理员True,否则false</returns>
|
|||
|
public bool IsSystemAdmin(string userTicket) => IsSystemAdmin(this.TicketDryptor.Decrypt(userTicket).Id);
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 查询票据是否不是系统管理员
|
|||
|
/// </summary>
|
|||
|
/// <param name="userTicket">用户票据</param>
|
|||
|
/// <returns>是管理员False,否则True</returns>
|
|||
|
public bool IsNotSystemAdmin(string userTicket) => !IsSystemAdmin(userTicket);
|
|||
|
}
|
|||
|
}
|