2009-08-26 8 views
2

에서 인증하는 방법 나는 다음과 같은 코드가 있습니다 셰어 : C#

using (SPSite site = new SPSite(this.ListAddress)) 
     { 
      using (SPWeb web = site.OpenWeb()) 
      { 

      } 

     } 

어떻게 내가 구성 파일의 도메인 사용자 이름 + 암호를 설정할 수 있도록 인증 할 수 있습니다.

+1

같은 SPSite를 열려면 해당 사용자의 SPUserToken 사용을 얻을 수 있습니다 SPSite.RootWeb.EnsureUser("username").UserToken 어떤 버전의 SharePoint를 사용할 수 있는지 명확히 할 수 있습니까? 나는 이것에 비틀 거리며 그것이 2007, 2010, 또는 다른 것이 었는지 알 수 없었다. –

답변

9

그런 다음, SharePoint의 알려진에서 코드를 실행 할 사용자를 확인,

당신이 미래에 대한 그래서

var token = SPSite.RootWeb.EnsureUser("usernameToImpersonate").UserToken; 

using (SPSite site = new SPSite(token, this.ListAddress)) 
{ 
    using (SPWeb web = site.OpenWeb()) 
    { 
    // code here will be executed as selected user 
    } 
} 
2

위의 코드는 현재 사용자 ID, 즉 현재 스레드를 실행하는 사용자의 ID로 인증됩니다.

당신은

이 두 aticles를 참조 WindowsIdentity 클래스와 함께 NetworkCredntial 클래스를 사용하여 다른 사용자로 코드를 실행할 수 있습니다 : 당신이 원하는

http://msdn.microsoft.com/en-us/library/system.net.networkcredential%28VS.71%29.aspx

http://msdn.microsoft.com/en-us/library/system.security.principal.windowsidentity.aspx

+1

이것은 SharePoint에서 권장되는 방법이 아닙니다. Colin의 코드 샘플을 사용하는 것이 훨씬 간단합니다. –

1

정확하게 명확하지 않음 그 질문에서 할 일. 그러나 가장을 찾는 경우 SPSite constructor에있는 SPUserToken 개체를 통과 할 수 있습니다.

그런 다음 가장 된 SPSite 개체에서 만드는 개체는 해당 사용자가 만든 것처럼 동작합니다. 사용