2010-07-07 7 views
0

프로그래밍 방식으로 공유 지점 목록에 액세스하려면 일반 사용자 계정으로 실행되는 콘솔 응용 프로그램을 빌드합니다. Sharepoint 개체에 액세스하기 위해 콘솔 응용 프로그램은 Sharepoint가 실행되는 컨텍스트에서 사용자를 가장합니다. 가장은 성공했지만 공유 지점 SPWeb 개체에 액세스하려고하면 다음과 같은 오류가 발생합니다. spWeb.ID = 'spWeb.ID'는 'System.Data.SqlClient.SqlException'형식의 예외를 throw했습니다. base {System \\ \ n 로그인이 실패했습니다. \\ \ n 사용자가 'DOM \ USER'사용자가 로그인하지 못했습니다. "}프로그래밍 방식으로 가장을 사용하여 공유 목록에 액세스

imepersonation은 기본 데이터베이스에 액세스 할 수 있으며 내가

감사합니다 사전에 SharePoint 목록 등에 대한 액세스 권한을 부여 명시 적으로 현재 사용자에 대한 액세스 권한을 부여해야 할 한

답변

-1

응용 프로그램 풀과 동일한 사용자의 컨텍스트에서 콘솔 응용 프로그램을 실행하면 트릭이 실행됩니다. 그래서 해결책은 runas 명령을 사용하는 것입니다.

+0

그렇습니다. db 액세스 아래 콘솔 앱을 실행하는 계정을 제공하는 것과 마찬가지입니다. 당신이 여기에서 성취하려고하는 것은 여전히 ​​매우 불분명합니다. – Ryan

+0

Sharepoint에서 다른 DB로 데이터를 마이그레이션합니다. 이제는 의미가 있습니까 ?? – TrustyCoder

+0

사용자 자격 증명을 사용하여 SharePoint에 액세스해야하는 이유가 무엇입니까? – Ryan

0

개체 모델에 액세스 할 때 콘솔 또는 Windows 응용 프로그램에서 사용자를 가장 할 때 사용자 계정 자격 증명에 따라 데이터베이스 연결이 이루어 지므로 각 사용자에게 상당히 높은 수준의 권한을 부여해야 액세스 할 수 있습니다 데이터베이스 (또는 더 나은 권한을 가진 그룹의 구성원).

http://technet.microsoft.com/en-us/library/cc721638(office.12).aspx

이 사용 된 계정이 IIS 사이트의 응용 프로그램 도메인 계정이 웹 응용 프로그램에 다릅니다.

그러나 이것은 매우 비표준적인 설정이며 보안 위험이 있습니다. 사용자에게 해당 데이터베이스에 직접 액세스 할 수있는 권한을 부여 하시겠습니까?

대신에 디자인을 다시 한 번 볼 것을 제안 할 수 있습니다. 무엇을 달성하려고합니까?

+0

응용 프로그램 풀이 다른 계정의 컨텍스트에서 실행되는 경우에도 웹 응용 프로그램이 네트워크 서비스의 자격 증명을 사용하는 방법은 어떻게됩니까? – TrustyCoder

+0

Erm - 그렇지 않습니다. – Ryan

관련 문제