从项锁所有者处获取context.user.profile

时间:2012-06-19 16:35:08

标签: sitecore sitecore6

这是我的问题:
尝试显示用户的真实姓名时,会覆盖此管道。

Sitecore.Pipelines.GetContentEditorWarnings.IsLocked

更改只是使用Item.getUpdatedBy()而不是Item.Locking.GetOwner()锁定,因为他们认为任何更新项目的人都必须锁定该项目。 getUpdatedBy()也显示了用户名旁边的Context.user.profile.fullname。问题是用户可以更新项目而不实际锁定项目,因此您会看到锁定字段填充的用户与上次更新的用户不同。

我想要做什么: 我需要显示项目的锁定所有者全名(context.user.profile.fullname)。如何从锁所有者(context.user.profile)获取Item.Locking.GetOwner()信息?

让我知道我是否需要更清楚。 谢谢, 克里斯

1 个答案:

答案 0 :(得分:2)

Item.Locking.GetOwner()方法只返回持有锁的人的用户名。从用户名中,您需要获取用户,然后获取他们的个人资料。可能有几种方法可以解决这个问题...这里有一个。

string username = theItem.Locking.GetOwner();
Sitecore.Security.Accounts.User user = Sitecore.Security.Accounts.User.FromName(theItem, false);
Sitecore.Security.UserProfile profile = user.Profile;
string fullName = profile.FullName;