在 API 代码中使用调用 API (C#) 的 Excel 宏获取用户名

问题描述 投票:0回答:1

我正在努力制定如下解决方案。 Excel 宏正在调用用 C# 编写的 API。 C# API 获取用户名并通过检查数据库进行一些验证。 目前用户名的传递方式如下

UserName = Environ$("UserName") 
RequestMessage & "<UserName>" & UserName & "</UserName>"

但是,正如您同意的那样,任何人都可以操纵 UserName 变量。 我想通过其他方式检查 API 中的用户名。 在环境中我们启用了 AD 身份验证。 实现这一目标的可能方法是什么?我对使用 C# 的 API 并不是非常熟练。

我试过这个代码

string _userName = System.Web.HttpContext.Current.User.Identity.Name;

但是返回错误“HttpContext”不存在。

我正在使用.Net Core 8.0。

任何指导都会有所帮助。

c# api httpcontext
1个回答
0
投票

很遗憾我的问题被否决了,因为我想要通过描述我的问题陈述来获得一些指导。不过我已经达到了我想要的目标。

我使用以下代码来实现我想要的。

WindowsPrincipal wp = new WindowsPrincipal(WindowsIdentity.GetCurrent());
 _httpContextUserName = wp.Identity.Name

上面的代码为我提供了调用 API 的用户名。

© www.soinside.com 2019 - 2024. All rights reserved.