2011-08-31 11 views
0

SharePoint 사이트에 2 페이지가 있다고 가정 해 봅니다. 페이지 A와 B라고합시다. Windows 기반 인증 메커니즘을 사용하고 있습니다. 이미 인증 된 사용자가 2 명 X &입니다. 페이지 A는 Active Directory에서 특정 속성이 1로 설정된 사용자에게 표시되어야합니다. 페이지 B는이 속성이 1로 설정되지 않은 사용자에게만 표시되어야합니다.이 속성을 SpecialUser라고 부릅시다. 주어진 사용자에 대해 SpecialUser가 1이면 사용자는 페이지 A 만 볼 수 있고 페이지 B는 볼 수 없어야합니다. SpecialUser에 다른 값이 있으면 사용자는 페이지 A가 아닌 페이지 B 만 볼 수 있어야합니다.SharePoint 2010 인증 질문

이 경우 사용자 X는 SpecialUser 속성을 1로 설정하고 사용자 Y는 속성을 갖지 않습니다. 따라서 사용자 X는 페이지 A 만 볼 수 있고 사용자 Y는 페이지 B 만 볼 수 있습니다.

SpecialUser 속성 값이 1로 설정된 사용자 만 포함하는 그룹이 활성 디렉토리에 없습니다. 우리는 셰어 포인트 그룹을 만들고 싶지 않습니다. 이 사용자를 수동으로 추가하십시오.

이러한 제약 사항이 주어지면 어떻게이인가를 얻을 수 있습니까? 맞춤 코딩이 필요하다고 생각합니다. 사용자 지정 코딩이 필요한 경우 어떻게해야합니까? 그렇지 않다면 해결책은 무엇입니까?

답변

0

내가 할 수있는 가장 쉬운 일은 액티브 디렉토리 쪽을 고수하는 것일 수 있다고 생각합니다. 쉐어 포인트 인증은 조금 변덕 스러울 수 있습니다. 내 머리 꼭대기에서 나는 이러한 사용자의 목록을 보유 할 활성 디렉토리 그룹을 만드는 것이 좋습니다. 수동으로 업데이트하는 것보다 자주 (하루에 한 번, 한 시간에 한 번? 오래된 인증을 얼마나 오래 기꺼이 사용하는지에 따라 다름) 서비스를 실행하고 활성 디렉토리의 사용자 목록에서이 플래그를 확인할 수 있습니다. 그러면 서비스가 인증을 위해 사용중인 그룹을 업데이트합니다.

Sharepoint 개발의 벽 안에서이 작업을 좀 더 정상적으로 수행하는 방법이있을 수 있지만 그와 같은 것에 대해서는 들어 본 적이 없습니다.

1

웹 응용 프로그램을 클래식 모드 대신 클레임 기반 모드를 사용하도록 설정할 수있는 경우 페이지에서 사용 권한을 설정할 때 Active Directory 특성을 클레임으로 사용할 수 있으므로 사용자 지정 코딩없이이를 수행 할 수 있어야합니다.

그렇지 않으면 맞춤 코딩이 필요합니다. 페이지에 배치하는 사용자 정의 웹 파트를 만들면 사용자를 리디렉션하거나 유효하지 않은 사용자에게 SPUtility.HandleAccessDenied(new UnauthorizedAccessException())으로 전화 할 수 있습니다. 페이지를 보안 트림 (보이지 않게)하려면 페이지를 표시하는 메뉴 또는 웹 파트에서 유사한 논리가 필요합니다.

Active Directory 특성이 SharePoint 사용자 프로필의 일부인 경우 UserProfile 클래스를 사용할 수 있습니다. 그렇지 않으면 System.DirectoryServices.AccountManagement을 사용하여 속성 값을 검색 할 수 있습니다.

+1

API를 사용하여 페이지 콘텐츠에 액세스 할 수있는 경우 webpart를 추가하는 접근 방식은 보안 구멍을 남길 수 있습니다. –

+0

내 응용 프로그램과 비슷한 문제가 있습니다. 공유 위치에 맞춤 인증을 도입하거나 공유 권한을 확장하는 방법이 있습니까? . –