这篇文章特别短,短到可以作为一篇文章的一个章节,那让我们开始吧
一、编写代码
我们在代码中标记了大量的TODO
标记,并且注明了这里暂时写死,等权限和授权完成后再改为动态获取这句话。那么到目前为止和权限有关的代码已经完成了,现在就开始处理这些代码吧。
1.1 封装获取UserId的类
我们在Controllers文件夹下新建BaseController
类,这个类继承ControllerBase
类,然后在BaseController
类中编写用于获取用户id的GetUserId
方法。
using Microsoft.AspNetCore.Mvc;
namespace SporeAccounting.Controllers;
/// <summary>
/// 控制器基类
/// </summary>
public class BaseController:ControllerBase
{
public string GetUserId()
{
HttpContext.Request.Headers.TryGetValue("UserId", out var userId);
return userId.ToString();
}
}
在GetUserId
方法中我们从请求头中获取到UserId,并返回给调用方。
1.2 在Controller中使用
BaseController
类已经编写完成,然后修改所有Controller,让它们都继承BaseController
,之后在标记TODO
的位置调用GetUserId
方法即可。
dbRole.CreateUserId = GetUserId();
三、总结
这篇文章很短吧,希望大家能动手把其他的TODO都来完成。