Freigeben über


에서 프로그 래밍방식으로 클레임 사이트에 사용자 추가

최초 문서 게시일: 2012년 1월 14일 토요일

얼마 전에 친구가 흥미로운 문제를 제기했습니다. Windows 클레임 사이트에 새 사용자를 프로그래밍 방식으로 추가하려고 했는데 많은 문제가 발생했다는 것입니다. 처음에 사용자를 추가할 때는 도메인\사용자 이름 및 SPRoleAssignment 역할을 사용했는데 추가할 수 없었다고 합니다. 그래서 여러 가지 방법으로 사용자 이름에 해당하는 클레임 인코딩 값을 제공하여 일부 작업은 수행할 수 있었으나, 이번에는 이름이 두 번 나타나는 등의 다른 문제가 발생했다고 합니다. 실제로 발생한 모든 변형과 문제를 직접 확인하지는 못했지만, 첫 번째 시도의 경우에는 SPWeb에서 EnsureUser 메서드를 사용하면 문제가 해결됐습니다. 이렇게 하면 시행 착오를 여러 차례 반복하면서 계정 이름의 인코딩을 생성하는 것보다 훨씬 간단하며, 일반적으로 사용자를 추가하기 위해 사용해야 하는 매개 변수 4개 대신 계정 이름만 전달하면 되므로 훨씬 쉽습니다. 실제로 EnsureUser를 사용한 결과 이름 인코딩이 자동으로 처리되고 코드가 간단해졌습니다. 

아래에는 이 코드의 간단한 예가 나와 있습니다.

using (SPSite theSite = new SPSite("https://foo"))
{
  using (SPWeb theWeb = theSite.OpenWeb())
  {
    SPUser theUser = theWeb.EnsureUser("domain\username");
  }
}

 

이 문서는 번역된 블로그 게시물입니다. 원본 문서는 Adding Users Programmatically to A Claims Site in SharePoint 2010을 참조하십시오.