2013-07-31 4 views
2
using (SPSite oSite = new SPSite(SPContext.Current.Site.Url)) 
     { 
      foreach (SPWeb oWeb in oSite.RootWeb.GetSubwebsForCurrentUser()) 
      { 
       permission = string.Empty; 
       foreach (SPGroup group in oWeb.Groups) 
       { 
        foreach (SPUser u in group.Users) 
        { 
         if (u.Name == (userName)) 
         { 
          foreach (SPRole role in u.Roles) 
          { 
           permission += role.Name.ToString() + ", "; 
          } 
                 } 
        } // Taking All Permission details of user 
       } 
       permission = " [" + permission.TrimEnd(", ".ToCharArray()) + "]"; 

} }셰어 C#을 가져 오기 목록

내 최종 문자열 변수는 [읽기, 방문자] 또는 [읽기] 같은 값을 가질 것 또는 [방문자는 읽기]

내가 u.Roles에 대한 모든 권한 이름과 실제로 내가 점점 오전 오류/경고를 가지고 싶어

이 SPRoleDefination 등 를 사용하여 허가를 받아야 도와주세요, [역할은 이제 절대] SPRoleDefinitionCollectionrol eDefinitions = oWeb.RoleDefinitions; SPRoleDefinitionroleDefinition

감사 프라 빈

+0

을이 밖으로 시도하십시오. – detailCode

답변

0

오류/경고 메시지를 지정

foreach (SPWeb oWeb in oSite.RootWeb.GetSubwebsForCurrentUser()) 
      { 

       SPRoleDefinitionCollection oCollection= oWeb.RoleDefinitions; 

       foreach (SPRoleDefinition r in oCollection) 
       { 
        SPRoleDefinition roleDef = oCollection[r.Name.ToString()]; 

        foreach (SPRoleAssignment oAssigment in oWeb.RoleAssignments) 
        { 
         if (oAssigment.RoleDefinitionBindings.Contains(roleDef)) 
         { 
          permissions+= r.Name.ToString(); 
         } 
        } 

       } 
+0

감사합니다. 아래 블로그를 참조 할 수 있습니다. http://praveenpandit.blogspot.in/2013/08/sharepoint-get-all-permission-and-list.html – Praveen