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.
Use a SecurityDisabler to make your webservice run in the context of an Admin user.
using (new Sitecore.SecurityModel.SecurityDisabler())
{
// do stuff here
}
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
}
}