如何在C#中查找用户名/身份我需要使用C#以编程方式查找用户名。具体来说,我希望系统/网络用户连接到当前进程。我正在编写一个使用WindowsIntegratedSecurity的Web应用程序。抽象身份概念通常是IPrincipal/IIdentity:IPrincipalprincipal=Thread.CurrentPrincipal;IIdentityidentity=principal==null?null:principal.Identity;字符串名称=身份==空?"":身份.姓名;这允许相同的代码在许多不同的模型(winform、asp.net、wcf等)中工作——但它依赖于预先设置的身份(因为它是应用程序定义的)。例如,在winform中,您可以使用当前用户的windows标识:Thread.CurrentPrincipal=newWindowsPrincipal(WindowsIdentity.GetCurrent());但是,主体也可以完全自定义-它不一定与Windows帐户等有关。另一个应用程序可能使用登录屏幕来允许任何用户登录:stringuserName="Fred";//todostring[]roles={"User","Admin"};//待办事项Thread.CurrentPrincipal=newGenericPrincipal(newGenericIdentity(userName),roles);取决于应用程序的上下文。您可以使用Environment.UserName(控制台)或HttpContext.Current.User.Identity.Name(网络)。请注意,使用Windows集成身份验证时可能需要从用户名中删除域。此外,您可以在代码隐藏中使用页面的User属性来获取当前用户,而不是从当前HTTP上下文中引用它。以上就是C#学习教程:如何在C#中查找用户名/身份共享的所有内容。如果对大家有用,需要进一步了解C#学习教程,希望大家多多关注——stringuser=System.Security.Principal.WindowsIdentity.GetCurrent().Name;本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
