doc:添加cicd文档模块
This commit is contained in:
41
Yi.Doc.Md/02.框架功能模块教程/05.当前用户.md
Normal file
41
Yi.Doc.Md/02.框架功能模块教程/05.当前用户.md
Normal file
@@ -0,0 +1,41 @@
|
||||
## 简介
|
||||
如何获取当前请求用户信息?这个问题有很多个答案
|
||||
|
||||
常规是通过HttpContext对象进行获取,它通常是在ControllerBase中,控制器中内置了HttpContext对象
|
||||
也可以通过依赖注入HttpContext访问器中获取
|
||||
|
||||
> 但是,他们都不够优雅,原因:与HttpContext具备了强耦合,如果对于没有HttpContext,将会非常的难维护,例如:单元测速
|
||||
|
||||
你可以依赖注入使用:`ICurrentUser`
|
||||
它是瞬态注入,但是它能够获取当前作用域的用户信息
|
||||
## 如何使用
|
||||
任何地方,依赖注入:`ICurrentUser`
|
||||
它包含属性:
|
||||
``` cs
|
||||
public interface ICurrentUser
|
||||
{
|
||||
//是否授权
|
||||
public bool IsAuthenticated { get; }
|
||||
//id
|
||||
public Guid Id { get; }
|
||||
//用户名
|
||||
public string UserName { get; }
|
||||
//租户id
|
||||
public Guid TenantId { get; }
|
||||
//邮件
|
||||
public string Email { get; }
|
||||
|
||||
public bool EmailVerified { get; }
|
||||
//电话
|
||||
public string PhoneNumber { get; }
|
||||
|
||||
public bool PhoneNumberVerified { get; }
|
||||
//角色codes
|
||||
public string[]? Roles { get; }
|
||||
|
||||
|
||||
}
|
||||
```
|
||||
直接使用即可
|
||||
|
||||
> 注意,当前用户功能默认是继承到Core模块,所以你无需进行任何引用,直接使用即可
|
||||
Reference in New Issue
Block a user