开发者

How can I login programmatically into Sitecore?

How can I login开发者_运维技巧 programmatically into Sitecore? For example if you would like to connect a small part of the Sitecore API to a desktop application, you would need to login into sitecore first to access the databases etc.

Can this be done?


As Mark said, you will need to create a web service that your desktop app will talk to. If you need to deal with permissions in that service you have two options.

  1. Use a SecurityDisabler to make your webservice run in the context of an Admin user.

    using (new Sitecore.SecurityModel.SecurityDisabler())
    {
        // do stuff here
    }
    
  2. For more specific control you can use a UserSwitcher.

    From the Security API Cookbook page 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 
        } 
    } 
    


Not really. What you can do, however, is write a supporting web service for your desktop application, and have that run in a Sitecore context.


There is an easier way to accomplish your goal:

  1. Create a desktop application and reference the same version of the Sitecore binaries that your web app uses.
  2. Configure your desktop application to point to the same Sitecore DBs as your web site.
  3. Use the security disabler and then set the context as follows: Sitecore.Context.SetActiveSite("website");

Sitecore may tell you that what you are trying to do will not work. But trust me, this works and I've used this method in a project before.

Additional details: Sitecore uses the Master, Core and Web DBs as it's data store. My suggested method uses Sitecore APIs to write directly to the DBs. When using this method, you'll need to be aware of the cache implications.

cheers!

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜