문제

저는 웹 서비스를 기반으로 청구에 의해 액세스하는 데 몇 가지 문제에 직면 해 있습니다.

내 앱에서만 주장을 기반으로합니다. Windows Auth가 비활성화되고 NTLM도 사용할 수 있습니다. 웹 기반 인터페이스로 SharePoint에 액세스하면 이렇게하면 사용자는 사용자로 인식하고 모든 것이 진행됩니다.

WS에서 액세스하면 2 개의 시나리오가 있습니다.

  • USERY (시스템 계정) -> 모든 것이 잘됩니다
  • userx 호출 (SA하지만 scAdmin 없음) -> 객체 참조 객체의 인스턴스로 설정되지 않음

    코드는 매우 간단하고 현재 사용자 로그인 이름 만 가져옵니다.

    using (SPSite sito = new SPSite("https://to0wss2k10rey03:50000/sites/Test1"))
                {
                    using (SPWeb web = sito.OpenWeb())
                    {
                        string Username =  web.CurrentUser.LoginName;
                    }
                }
    
    .

    CurrentUser를 얻으려고 할 때 예외가 발생하며, WICH가 널 (null) 인 것처럼 보입니다.

도움이 되었습니까?

해결책

USERY에서 작동하는 방식으로 조용히 조용합니다.

NTLM이없는 클레임으로 실행할 때 자격 증명을 통과하는 유일한 방법은 SharePoint STS SAML 토큰을 사용하여 Fedauth 쿠키를 통한 것입니다.해당 토큰을 얻으려면 IdentityProvider (ADFS?)에서 SAML 토큰으로 SharePoint STS를 호출해야합니다.해당 토큰을 얻으려면 로그인 정보가있는 ID 공급자에게 전화해야합니다.

클레임 프록시 - 클레임 보호 된 웹 서비스를 호출하기위한 AC # 라이브러리 클레임 인증으로 SharePoint에 연결 Share-N-Dipity

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 sharepoint.stackexchange
scroll top