如何以编程方式登录Sitecore?

Dum*_*ner 4 sitecore sitecore6 sitecore5.2

如何以编程方式登录Sitecore?例如,如果您想将Sitecore API的一小部分连接到桌面应用程序,则需要首先登录sitecore才能访问数据库等.

可以这样做吗?

Sea*_*ney 5

正如Mark所说,您需要创建一个桌面应用程序将与之通信的Web服务.如果您需要处理该服务中的权限,您有两种选择.

  1. 使用SecurityDisabler使您的Web服务在Admin用户的上下文中运行.

    using (new Sitecore.SecurityModel.SecurityDisabler())
    {
        // do stuff here
    }
    
    Run Code Online (Sandbox Code Playgroud)
  2. 对于更具体的控制,您可以使用UserSwitcher.

    Security API Cookbook第34页

    string domainUser = @"domain\user"; 
    
    if (Sitecore.Security.Accounts.User.Exists(domainUser)) 
    { 
        Sitecore.Security.Accounts.User user = 
        Sitecore.Security.Accounts.User.FromName(domainUser,false); 
    
        using (new Sitecore.Security.Accounts.UserSwitcher(user)) 
        { 
            //TODO: code to invoke as user 
        } 
    } 
    
    Run Code Online (Sandbox Code Playgroud)