Here is the code to check if the user has a permission to see the web part:
SPUser user = SPContext.Current.Web.CurrentUser;
bool userRight = DoesUserHaveRights(user);
if ((SPContext.Current.Site.RootWeb.CurrentUser.IsSiteAdmin) || (userRight))
{
btnSetAuthor.Visible = true;
lblMSG.Visible = true;
}
else
{
btnSetAuthor.Visible = false;
lblMSG.Visible = false;
}
private bool DoesUserHaveRights(SPUser user)
{
using (SPSite elevatedSite = new SPSite(SPContext.Current.Site.ID))
{
using (SPWeb elevatedWeb = elevatedSite.OpenWeb(SPContext.Current.Web.ID))
{
// check if a group exists in the SPWeb
bool groupInWeb = Utilities.GroupExistsInWebSite(elevatedWeb, WebPart.SharePointGroup);
if(groupInWeb)
{
// Assign the group if groupInWeb is true
SPGroup group = elevatedWeb.Groups[WebPart.SharePointGroup];
if (group.ContainsCurrentUser)
return true;
else
return false;
}
else
return false;
}
}
}
No comments:
Post a Comment