2011-11-03 2 views
3

SharePoint MOSS2007 역할 그룹 (및 해당 권한)을 복제하는 C# 응용 프로그램을 작성하고 싶지만 시작점이 없습니다.Sharepoint 역할 그룹 복제

MOSS2007은 (개발 측면에서) 상당히 실증적으로 보이지는 않지만 문제를 꽤 많이 우연히 만났음에도 불구하고 여전히 무엇을 시도해야하는지 전혀 알지 못합니다. 나는 여기서 누군가가 비슷한 것을했거나 좋은 참고 점을 제공 할만큼 SharePoint 라이브러리를 알고 있기를 바랬다.

나는 기본적인 질문에 대해 진심으로 사과하고 더 많은 정보를 제공하지 않습니다.

답변

4

SharePoint 보안 그룹을 '복제'하는 것은 무엇보다 먼저 그룹 자체가 아니라 사용 권한에 관한 것입니다.

이러한 사용 권한은 SPWeb 개체에 역할 할당으로 저장됩니다.

SPGroup group = spWeb.Groups["name group"]; 

는 그런 다음 SPWeb 개체의 roleassignments를 얻기 위해이 검색 그룹을 사용해야합니다 : 첫째로 당신은 당신이 수행하여 복제 할 그룹을 찾아야합니다.

SPRoleAssignment ass = spWeb.RoleAssignments.GetAssignmentByPrincipal(group2); 

그럼 당신은 단순히 새로운 SPGroup를 작성하고 roleassignment 및 웹 객체에 roleassignment에 그룹을 추가해야합니다 : 동일한 권한과 함께 새 그룹을 가져야한다이 후

spWeb.SiteGroups.Add(groupName, user, user, groupDescription); 
SPGroup newGroup = spWeb.SiteGroups[groupName]; 
SPRoleAssignment roleAssignment = new SPRoleAssignment(newGroup); 

//add role to web 
spWeb.RoleAssignments.Add(roleAssignment); 
spWeb.Update(); 

원래 그룹.

공유 기능에서 위와 같은 작업을 수행하지 않는 경우 콘솔 응용 프로그램에서 수행 할 수 있습니다. 그냥 VS에서 콘솔 응용 프로그램을 작성하고이 같은 뭔가 그것을 채우기 : 당신이 그룹을 편집, 변경하거나 추가 할 때

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using Microsoft.SharePoint; 
namespace ConsoleApplication 
{  
class Program  
{   
static void Main(string[] args)   
{    
    using (SPSite spSite = new SPSite("http://yoururl"))    
    {     
      using (SPWeb spWeb = spSite.RootWeb) 
      {      
      //perform the code to clone the group here 
      }   
    }     
}  
} 
} 
+2

이것은 어떻게 인증 하는가? ISS 서버에서 간단히 실행한다고 가정합니다. – Codingo

+2

그룹 개체로 무엇을 할 것입니까? 위의 예는 SharePoint에 액세스하는 방법이 아니라 그룹을 복제하는 방법에 관한 것입니다. sharepoint 환경에 액세스하는 콘솔 응용 프로그램을 간단하게 만들 수 있습니다. – Tjassens

+1

죄송합니다, 나는 내 깊이가 부족한 것 같습니다. 그 방법을 배우려면 무엇을 읽어야합니까? – Codingo

1

원격으로 참으로 웹 서비스를 사용할 수 있습니다. webservice에 usergroup.asmx가 필요합니다. 이 웹 서비스의 메서드는 SharePoint에서 간단히 호출하여 찾을 수 있습니다.

그래서 검색 : http://MySharePointSite/_vti_bin/usergroup.asmx

이 당신에게 서비스의 모든 가능한 방법의 목록을 제공합니다. 응용 프로그램에서 웹 서비스에 연결을 수행 할 수 있습니다

http://msdn.microsoft.com/en-us/library/ms458094.aspx

이 당신이 어떻게 사용자 그룹의 웹 서비스와 상호 작용하도록 지시합니다

http://msdn.microsoft.com/en-us/library/ms412944.aspx

+0

많은 감사를드립니다! – Codingo

관련 문제