SPContext.Current.Web.CurrentUser返回误导性值

Jak*_*urc 5 security sharepoint

我正在尝试找出我的sharepoint应用程序的当前用户名.如何做到这一点还有更多的方法.但是,sharepoint方式会返回误导性的价值.

System.Security.Principal.WindowsIdentity.GetCurrent().Name // returns MY_COMPUTER\\my_user

HttpContext.Current.User.Identity.Name // returns MY_COMPUTER\\my_user

HttpContext.Current.Request.ServerVariables["AUTH_USER"] // returns MY_COMPUTER\\my_user

Microsoft.SharePoint.SPContext.Current.Web.CurrentUser.LoginName // returns SHAREPOINT\\system
Run Code Online (Sandbox Code Playgroud)

这种行为的原因是什么?如果我使用非sharepoint方式,我会遇到问题吗?

jwm*_*er5 6

您是否以用于安装系统的管理员帐户进行浏览?SharePoint将"帮助"重命名SHAREPOINT\System.使用其他帐户,所有方法都将返回相同的值.


Nic*_*ico 5

如果用户是运行当前Web应用程序的应用程序池帐户,则会出现这种情况.
顺便说一句,它应该与欢迎控件中显示的名称相同(左上角控件)