【问题标题】:How get core get current user info?如何获取核心获取当前用户信息?
【发布时间】:2017-06-06 11:47:44
【问题描述】:

如何在新的 .net 核心框架中获取 windows pc 上当前登录的用户?

旧命名空间

System.DirectoryServices;
System.DirectoryServices.AccountManagement;

尚未实施 :( 建议移植库novell.ldap,但我仍然不明白如何获取有关用户的信息。

我从System.Security.Principal.WindowsIdentity.GetCurrent().Name 得到短名称 如何获得全名?示例“玛丽安”

【问题讨论】:

    标签: asp.net .net asp.net-core ldap


    【解决方案1】:

    首先,ASP.NET Core 可以在根本没有“Windows”用户的 Linux 和 Mac 上运行。

    但即使您只在 Windows 上运行您的应用程序 - 您指的是什么用户?如果您的网站在 IIS 后面的服务器上运行 - 则 IIS 作为服务启动,没有任何交互式用户,并且您的应用程序也在某个服务帐户下启动。

    但是,如果您将仅在 Windows 下运行您的应用程序并且仅以交互方式运行(用户将启动 dotnet run 或类似的),那么最简单的方法 - 读取环境变量 USERDOMAINUSERNAME。在命令提示符下运行set,您将看到当前会话中定义的所有环境变量。您可以通过Environment 类阅读它们,或者在Startup.cs 中使用AddEnvironmentVariables() 添加到ConfigurationBuilder

    【讨论】:

    • 仅限 windows 用户
    • 不了解 ASP.NT,但您可以使用:en.wikipedia.org/wiki/SPNEGO 获取信息,假设 LDAP 实现支持此类操作。 (即不仅仅是 Windows)。
    猜你喜欢
    • 1970-01-01
    • 2017-04-06
    • 2022-09-24
    • 1970-01-01
    • 2021-06-11
    • 1970-01-01
    • 2013-05-27
    • 1970-01-01
    • 2011-03-08
    相关资源
    最近更新 更多