gpt4 book ai didi

c# - 在没有 Windows 身份验证的情况下获取用户的 Windows 用户名

转载 作者:行者123 更新时间:2023-11-30 20:41:31 24 4
gpt4 key购买 nike

我们有一个面向内部的 (C#/MVC/IIS7) 应用程序,要求用户不必输入凭据,但我们需要网络/Windows 用户名来识别当前用户是谁。

有什么办法可以实现吗?谢谢!

最佳答案

下面是一些处理这类事情的代码:

public class WindowsIdentityHelper
{
public WindowsPrincipal GetWindowsPrincipal()
{
//Get Current AppDomain
AppDomain myDomain = Thread.GetDomain();
myDomain.SetPrincipalPolicy(PrincipalPolicy.WindowsPrincipal);
return (WindowsPrincipal)Thread.CurrentPrincipal;
}

public bool IsUserBelongsToWindowsAdministratorGroup()
{
WindowsPrincipal myPrincipal = GetWindowsPrincipal();

if (myPrincipal.IsInRole("Administrators"))
return true;

if (myPrincipal.IsInRole(WindowsBuiltInRole.Administrator))
return true;
else
return false;
}

public string GetFullDomainLoginUserName()
{
WindowsPrincipal myPrincipal = GetWindowsPrincipal();
return myPrincipal.Identity.Name.ToString();
}

public string GetLoginUserName()
{
string authenticatedUser = string.Empty;
string userName = GetFullDomainLoginUserName();
if (userName.Contains("\\"))
authenticatedUser = userName.Split('\\')[1];
else
authenticatedUser = userName;
return authenticatedUser;
}
}

关于c# - 在没有 Windows 身份验证的情况下获取用户的 Windows 用户名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32259035/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com