ZhouliProject/Zhouli.Bms/Data/UserAccount.cs
(完整代码) 1KBusing Zhouli.DI;
using Zhouli.DbEntity.Models;
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.Options;
using ZhouliSystem.Models;
using Zhouli.Common;
namespace ZhouliSystem.Data
{
/// <summary>
/// 关于用户信息的操作
/// </summary>
public class UserAccount
{
private readonly IHttpContextAccessor _contextAccessor;
private readonly IOptionsSnapshot<CustomConfiguration> _optionsSnapshot;
public UserAccount(IHttpContextAccessor contextAccessor, IOptionsSnapshot<CustomConfiguration> optionsSnapshot)
{
_contextAccessor = contextAccessor;
_optionsSnapshot = optionsSnapshot;
}
/// <summary>
/// COOKIE名常量
/// </summary>
private const string USER_COOKIE_NAME = "UserLogin";
/// <summary>
/// 得到用户登录数据
/// </summary>
/// <returns></returns>
public SysUser GetUserInfo()
{
var user = _contextAccessor.HttpContext.Session.GetSession<SysUser>(USER_COOKIE_NAME);
return user ?? null;
}
/// <summary>
/// 登录操作
/// </summary>
/// <returns></returns>
public bool Login(SysUser user)
{
user.isAdministrctor = JudgeUserAdmin(user);
_contextAccessor.HttpContext.Session.SetSession(USER_COOKIE_NAME, user);
return true;
}
/// <summary>
/// 判断用户是否超级管理员
/// </summary>
/// <param name="user"></param>
/// <returns></returns>
public bool JudgeUserAdmin(SysUser user) =>
user.UserName.Equals(_optionsSnapshot.Value.adminAccount);
}
}
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。