如果我将 ac# 程序放在 Windows 服务器上的共享上,它可能由在笔记本电脑上以本地用户身份登录的人运行。当他们连接到共享时,他们必须对共享进行身份验证(输入用户名和密码)。
我的问题是,我的程序如何确定用于对域进行身份验证的用户名(而不是用于登录笔记本电脑的用户名)?
如果我将 ac# 程序放在 Windows 服务器上的共享上,它可能由在笔记本电脑上以本地用户身份登录的人运行。当他们连接到共享时,他们必须对共享进行身份验证(输入用户名和密码)。
我的问题是,我的程序如何确定用于对域进行身份验证的用户名(而不是用于登录笔记本电脑的用户名)?
你可以使用System.Security.Principal.WindowsIdentity
:
var user = WindowsIdentity.GetCurrent();
string username = user.Name;