프로그램 적으로 Sitecore에 로그인하려면 어떻게해야합니까? 예를 들어 Sitecore API의 작은 부분을 데스크톱 응용 프로그램에 연결하려면 데이터베이스에 액세스하려면 먼저 sitecore에 로그인해야합니다.프로그래밍 방식으로 Sitecore에 로그인하려면 어떻게해야합니까?
이 작업을 수행 할 수 있습니까?
프로그램 적으로 Sitecore에 로그인하려면 어떻게해야합니까? 예를 들어 Sitecore API의 작은 부분을 데스크톱 응용 프로그램에 연결하려면 데이터베이스에 액세스하려면 먼저 sitecore에 로그인해야합니다.프로그래밍 방식으로 Sitecore에 로그인하려면 어떻게해야합니까?
이 작업을 수행 할 수 있습니까?
Mark가 말한 것처럼 데스크탑 응용 프로그램과 대화 할 웹 서비스를 만들어야합니다. 해당 서비스의 사용 권한을 처리해야하는 경우 두 가지 옵션이 있습니다.
SecurityDisabler를 사용하여 관리 사용자 컨텍스트에서 웹 서비스를 실행하십시오. 당신이 UserSwitcher을 사용할 수있는보다 구체적인 제어를 위해
using (new Sitecore.SecurityModel.SecurityDisabler())
{
// do stuff here
}
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
}
}
아니요. 그러나 할 수있는 일은 데스크톱 응용 프로그램을 지원하는 웹 서비스를 작성하고 Sitecore 컨텍스트에서 실행되도록하는 것입니다.
그래도 웹 서비스가 있더라도 어떻게 할 수 있습니까? Sitecore 항목에 액세스하려면 로그인해야합니다. 내가 여기서 무엇을 놓치고 있니? –
아니요, 웹 서비스없이 할 수 있습니다. 나는 코드를 파헤 치려고 노력할 것이다. Sitecore의 API를 사용하면 실제로 로그인하지 않습니다. API를 사용하면 완전히 액세스 할 수 있습니다. – EliThompson
목표 달성 할 수있는 쉬운 방법이있다 :
Sitecore는 사용자가하려는 작업이 작동하지 않는다고 말할 수 있습니다. 그러나 저를 신뢰하십시오, 이것은 작동하고 전에이 프로젝트를 사용했습니다.
추가 세부 사항 : Sitecore는 마스터, 코어 및 웹 DB를 데이터 저장소로 사용합니다. 내 제안 된 방법은 Sitecore API를 사용하여 DB에 직접 쓸 수 있습니다. 이 방법을 사용할 때 캐시의 의미를 알아야합니다.
건배!
나는 우리가 해낸 Anand와 같은 프로젝트에서 일했다. 우리의 솔루션에는 Sitecore .config 파일과 .xml 파일이 많이 있으므로 잊지 않도록하십시오. – EliThompson
이 접근 방식의 라이선스 관련 내용은 무엇입니까? – geedubb
Sitecore API를 사용하여 데이터베이스에 직접 데이터를 쓰는 경우 실행중인 웹 사이트 인스턴스에 캐시가 오래되었음을 알리지 않고 매우 조심해야합니다. Sitecore 캐시는 매우 적극적으로 캐시하므로 중간 정도 복잡한 작업을 수행하는 경우 거의 항상 캐싱 문제가 발생합니다. 이것은 6.3을 사용하여 피할 수 있습니다. – Matt