SharePoint C# Get list of sites and subsites on which user has permission (like Read, Contribute Visitor) -


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 permission details of user                 }                 permission = " [" + permission.trimend(", ".tochararray()) + "]"; 

} }

my final string variable have values [read, visitor] or [read] or [visitor, read]

i wants have permission names , getting error/warning on u.roles [roles absolute now],

help me permission using sproledefination etc sproledefinitioncollectionroledefinitions = oweb.roledefinitions; sproledefinitionroledefinition

thanks praveen

try out

 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();                         }                     }                  } 

Comments

Popular posts from this blog

basic authentication with http post params android -

vb.net - Virtual Keyboard commands -

c++ - End of file on pipe magic during open -