显示原始Sitecore用户名,而不是当前输入的用户名
我可能会在这里忽略一些明显的东西,但是可以在注册时使用用户名中的用户名返回Sitecore用户吗?
目前,用户名将显示为用户登录时输入的内容,但我希望能够获取原始字符串。
我正在使用
User user = User.FromName(domainUser, false);
更新:
这是我在Yan的优秀答案之后得到的:
// get the MembershipUser object normally by name
var initialUser = Membership.GetUser(domainUser, false);
if (initialUser != null)
{
// get the same MembershipUser by Id - in this case it retuns username in correct case
initialUser = Membership.GetUser(initialUser.ProviderUserKey, false);
}
// get the Sitecore user from the username in correct case
Sitecore.Security.Accounts.User user = Sitecore.Security.Accounts.User.FromName(initialUser.UserName, false);
谢谢,
Annelie
没有找到相关结果
已邀请:
1 个回复
孝箱捆讨
。它包含方法
,它被重载了很多次。诀窍是它接受用户名作为参数的重载版本的行为与
相同。我的意思是它不会从基础SQL表中返回实际的
,而是使用您在参数中传递给
方法的用户名。它仍然可以正常工作 - 所有比较都以小写形式完成。 因此,如果您需要获取用户名的真实案例,则可以使用实际查询UserName字段的基础SQL源的方法之一。例如,
,它通过UserId获取用户:
正如你所看到的,它是2次调用数据库而不是1代表
而不是0代表
。 或者,如果您确定用户已收到电子邮件,并且您知道此电子邮件,则可以使用
方法。