AuthenticationManager.Login desn';无法使用指定的用户

AuthenticationManager.Login desn';无法使用指定的用户,authentication,sitecore,sitecore8.1,Authentication,Sitecore,Sitecore8.1,我想通过AuthenticationManager.login(user)登录用户,但是当我通过AuthenticationManager.GetActiveUser()检查该用户时,我得到了“extranet\Anonymous”用户。但是,当我尝试登录我以前创建的虚拟用户时,它会工作 我的代码: Log.Info(string.Format("Trying to login with unique key '{0}'...", uniqueKey), item); User user = F

我想通过AuthenticationManager.login(user)登录用户,但是当我通过AuthenticationManager.GetActiveUser()检查该用户时,我得到了“extranet\Anonymous”用户。但是,当我尝试登录我以前创建的虚拟用户时,它会工作

我的代码:

Log.Info(string.Format("Trying to login with unique key '{0}'...", uniqueKey), item);
User user = FindDocCheckUserByUniqueKey(uniqueKey);
Log.Info(string.Format("User found by unique key '{0}': {1}", uniqueKey, user != null ? user.Name : "null"), item);
AuthenticationManager.Login((user != null ? user : BuildDocCheckUser()).Name); // login user found by unique key or the virtual user
user = AuthenticationManager.GetActiveUser();
Log.Info(string.Format("Active user: {0}", user != null ? user.Name : "null"), item);
Log.Info(string.Format("Active user is authenticated: {0}", user != null && user.IsAuthenticated), item);
真实用户的日志输出(不起作用):

虚拟用户的日志输出(有效):


有没有办法强制用户登录?

您需要为登录方法添加第二个参数

AuthenticationManager.Login(user, true);

您还需要检查密码,因为在导入用户时密码不会序列化

找到解决方案!默认情况下,将禁用导入的用户。启用它们可以使登录过程正常工作感谢@SiteCoreClimper为我提供了密码提示,因此我仔细查看了sitecore用户管理器。:-)

能否尝试向此方法AuthenticationManager.Login(user,true)添加第二个参数;这是AuthenticationManager类中的方法:public static bool Login(字符串用户名,bool persistent)这不起作用。同样的效果-(您可以检查FindDoccheckuserbyniquekey(uniqueKey)用户为什么为空?用户的唯一id是什么?FindDoccheckuserbyniquekey(uniqueKey)查找用户名为dc_uu的用户并检查其是否处于特殊角色。如果未找到或不在该角色中,此方法将返回null。我刚刚发现一件奇怪的事情:所有真实用户都是通过包从另一个sitecore实例导入的。这些用户无法登录。如果我在该sitecore实例上创建真实用户,则该用户可以是logg那么导入的用户和新创建的用户之间有区别吗?
3560 13:22:48 INFO  Trying to login with unique key '395f625038a3293fe1f10eff84529556'...
3560 13:22:48 INFO  User found by unique key '395f625038a3293fe1f10eff84529556': null
3560 13:22:48 INFO  Active user: extranet\DocCheck User
3560 13:22:48 INFO  Active user is authenticated: True
AuthenticationManager.Login(user, true);