using Dpz.Core.Public.ViewModel.Request;
using Dpz.Core.Public.ViewModel.Response;
namespace Dpz.Core.Service.RepositoryService;
public interface IAccountLoginHistoryService
{
/// <summary>
/// 登录失败
/// </summary>
/// <param name="account">账号</param>
/// <param name="method">登录方式</param>
/// <param name="status"></param>
/// <returns></returns>
Task LoginFailAsync(
string account,
LoginMethod method = LoginMethod.Password,
LoginResultStatus status = LoginResultStatus.AccountOrPasswordError
);
/// <summary>
/// 添加验证双因素错误记录
/// </summary>
/// <param name="account">账号</param>
/// <param name="method">登录方式</param>
/// <returns></returns>
Task PinCodeErrorAsync(string account, LoginMethod method = LoginMethod.Password);
/// <summary>
/// 添加账号被锁记录
/// </summary>
/// <param name="account">账号</param>
/// <param name="method">登录方式</param>
/// <returns></returns>
Task AccountLockedAsync(string account, LoginMethod method = LoginMethod.Password);
/// <summary>
/// 添加账号被禁用记录
/// </summary>
/// <param name="account">账号</param>
/// <param name="method">登录方式</param>
/// <returns></returns>
Task AccountDisabledAsync(string account, LoginMethod method = LoginMethod.Password);
/// <summary>
/// 添加登录成功记录
/// </summary>
/// <param name="account">账号</param>
/// <param name="method">登录方式</param>
/// <returns></returns>
Task SuccessAsync(string account, LoginMethod method = LoginMethod.Password);
/// <summary>
/// 检测账号是否被锁
/// </summary>
/// <param name="account"></param>
/// <returns></returns>
Task<bool> LockedAsync(string account);
/// <summary>
/// 获取登录历史记录
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
Task<IPagedList<AccountLoginHistoryResponse>> GetPageAsync(AccountLoginHistoryRequest request);
}
⚠⚠ 以下内容为AI分析的结果,请根据实际情况进行判断。
代码解释
这是一个 C# 接口定义文件,定义了账号登录历史服务的契约规范。
接口概述
接口名称: IAccountLoginHistoryService
命名空间: Dpz.Core.Service.RepositoryService
用途: 管理用户账号登录历史记录的服务接口,包括登录成功、失败、锁定、禁用等各种状态的记录。
方法说明
1. LoginFailAsync - 记录登录失败
Task LoginFailAsync(string account, LoginMethod method, LoginResultStatus status)
- 参数:
account: 登录账号method: 登录方式(默认为密码登录)status: 登录失败状态(默认为账号或密码错误)
- 作用: 记录用户登录失败的历史
2. PinCodeErrorAsync - 记录双因素验证错误
Task PinCodeErrorAsync(string account, LoginMethod method)
- 作用: 记录用户在双因素认证(2FA)时输入错误验证码的情况
3. AccountLockedAsync - 记录账号被锁定
Task AccountLockedAsync(string account, LoginMethod method)
- 作用: 记录账号因某种原因被锁定的事件
4. AccountDisabledAsync - 记录账号被禁用
Task AccountDisabledAsync(string account, LoginMethod method)
- 作用: 记录账号被禁用的事件
5. SuccessAsync - 记录登录成功
Task SuccessAsync(string account, LoginMethod method)
- 作用: 记录用户成功登录的历史
6. LockedAsync - 检查账号锁定状态
Task<bool> LockedAsync(string account)
- 返回值: 布尔值,表示账号是否被锁定
- 作用: 查询账号当前是否处于锁定状态
7. GetPageAsync - 分页查询登录历史
Task<IPagedList<AccountLoginHistoryResponse>> GetPageAsync(AccountLoginHistoryRequest request)
- 参数:
AccountLoginHistoryRequest- 分页查询请求对象 - 返回值: 分页的登录历史记录列表
- 作用: 获取登录历史记录的分页数据
设计特点
- 异步设计: 所有方法都返回
Task,支持异步操作 - 参数默认值: 多个方法的
method参数默认为LoginMethod.Password - 功能完整: 覆盖登录流程的各种状态(成功、失败、锁定、禁用等)
- 分页支持: 提供分页查询功能,适合大数据量场景
应用场景
- 安全审计
- 异常登录检测
- 账号锁定机制
- 登录行为分析
- 合规性记录
AI 正在分析代码…
评论加载中...