当前位置: 首页 > news >正文

13. 【.NET 8 实战--孢子记账--从单体到微服务】--简易权限--完善TODO标记的代码

这篇文章特别短,短到可以作为一篇文章的一个章节,那让我们开始吧

一、编写代码

我们在代码中标记了大量的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都来完成。

http://www.lryc.cn/news/488743.html

相关文章:

  • 深入剖析Java内存管理:机制、优化与最佳实践
  • 【Amazon】亚马逊云科技Amazon DynamoDB 实践Amazon DynamoDB
  • Qt-常用的显示类控件
  • LabVIEW内燃机缸压采集与分析
  • 【Linux学习】【Ubuntu入门】1-7 ubuntu下磁盘管理
  • VScode clangd插件安装
  • 【机器学习】- L1L2 正则化操作
  • Logback实战指南:基础知识、实战应用及最佳实践全攻略
  • 基于python的机器学习(三)—— 关联规则与推荐算法
  • 【大模型】LLaMA: Open and Efficient Foundation Language Models
  • 模拟器多开限制ip,如何设置单窗口单ip,每个窗口ip不同
  • hive的存储格式
  • 鸿蒙学习高效开发与测试-应用程序框架(3)
  • 什么命令可以查看数据库中表的结构
  • django基于python 语言的酒店推荐系统
  • 【深度学习|onnx】往onnx中写入训练的超参或者类别等信息,并在推理时读取
  • WebSocket详解、WebSocket入门案例
  • 05_Spring JdbcTemplate
  • Bug:引入Feign后触发了2次、4次ContextRefreshedEvent
  • 最新‌VSCode保姆级安装教程(附安装包)
  • layui 表格点击编辑感觉很好用,实现方法如下
  • 三十一、构建完善微服务——API 网关
  • 非对称之美(贪心)
  • 详细教程-Linux上安装单机版的Hadoop
  • C#桌面应用制作计算器进阶版01
  • [开源] 告别黑苹果!用docker安装MacOS体验苹果系统
  • 多模态大模型(4)--InstructBLIP
  • 【Linux】基于 Busybox 构建嵌入式 Linux(未完成)
  • Unet++改进38:添加GLSA(2024最新改进方法)具有聚合和表示全局和局部空间特征的能力,这有利于分别定位大目标和小目标
  • c++中mystring运算符重载