下面的代码用于判断当前用户是否对当前页面有编辑权限,原理是对页面权限进行&操作,再判断是否为空:
&表示与操作
|表示或操作
参考:http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.sproledefinition.basepermissions.aspx
bool haveEditPermission = true;
if (SPContext.Current.Web.CurrentUser != null && SPContext.Current.ContextPageInfo.BasePermissions.HasValue)
{
//判断当前用户有编辑当前页面的权限
if((SPContext.Current.ContextPageInfo.BasePermissions.Value&SPBasePermissions.EditListItems)!=SPBasePermissions.EmptyMask)
{
haveEditPermission = true;
}
}
备注:调用base.SetPersonalizationDirty()设置webpart属性时无需判断用户权限,没有权限的用户是不会设置成功的