从MVC3中的User.Identity.Name中删除域

时间:2012-09-14 20:23:52

标签: asp.net-mvc-3 windows-authentication

我正在MVC3 @Razor中构建一个Intranet站点。它正在使用Windows身份验证。我遇到的问题是UserID列出了数据库中的所有用户。从Windows上下文获取用户信息的默认操作包括域(例如domain \ userid)。是否可以将此更改为仅获取用户标识并忽略域,而无需编写自定义身份验证过程?含义User.Identity.Name只是userid而不是domain和userid。

编辑: 这是基于使用默认成员资格的成员资格模型。

编辑: 该问题与信息的显示无关。问题是当系统从Windows获取用户信息然后去获取成员资格信息时,域名是否可以被删除,因此只传递用户ID而不是域和用户ID。我想要的是能够将用户标识传递给成员资格而不是“域\用户ID”。

2 个答案:

答案 0 :(得分:13)

以下内容:

User.Identity.Name.Split('\\')[1]; 

将删除域名部分。

答案 1 :(得分:0)

我在View上使用它。

MVC查看:

for (YourObjectName* yourObject in yourObjectNameArray) {
    NSLog(@"%@", yourObject)
    NSLog(@"%@", yourObject.someValue)
    NSLog(@"%@", yourObject.day)
    NSLog(@"%@", yourObject.hour)
}