我在我的操作方法中有以下方法:-
repository.InsertOrUpdateRack(rj.Rack, User.Identity.Name, assetid);
但是生成的用户名User.Identity.Name
会在用户名前加上域名,如下所示:-
DOMAINNAME\username
那么有没有办法强制User.Identity.Name
只检索用户名?谢谢。
我在我的操作方法中有以下方法:-
repository.InsertOrUpdateRack(rj.Rack, User.Identity.Name, assetid);
但是生成的用户名User.Identity.Name
会在用户名前加上域名,如下所示:-
DOMAINNAME\username
那么有没有办法强制User.Identity.Name
只检索用户名?谢谢。
域构成用户名的一部分,因此我认为任何方法/属性都不会返回您需要的内容。你不能只做:
var userName = User.Identity.Name.Split('\\')[1];
不理想但足够简单。如果你想让它很好地隐藏起来,你可以在 IIdentity 上创建一个扩展方法。
VB 等效项是(其中 UserWindowsName 可以是用于显示 Windows 用户名的变量或控件):
Dim userName As WindowsIdentity = HttpContext.Current.Request.LogonUserIdentity
UserWindowsName = userName.Name.Split("\"c)(1)
var name = Regex.Replace(HttpContext.User.Identity.Name, @"^.*\", "");