Dum*_*ner 4 sitecore sitecore6 sitecore5.2
如何以编程方式登录Sitecore?例如,如果您想将Sitecore API的一小部分连接到桌面应用程序,则需要首先登录sitecore才能访问数据库等.
可以这样做吗?
正如Mark所说,您需要创建一个桌面应用程序将与之通信的Web服务.如果您需要处理该服务中的权限,您有两种选择.
使用SecurityDisabler使您的Web服务在Admin用户的上下文中运行.
using (new Sitecore.SecurityModel.SecurityDisabler())
{
// do stuff here
}
Run Code Online (Sandbox Code Playgroud)对于更具体的控制,您可以使用UserSwitcher.
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)