Permissions 对于具有“贡献”权限级别的用户,未显示可个性化web部件自定义属性

Permissions 对于具有“贡献”权限级别的用户,未显示可个性化web部件自定义属性,permissions,sharepoint-2010,web-parts,Permissions,Sharepoint 2010,Web Parts,我已经为SharePoint 2010创建了Web部件,它包含带有PersonalizationScope.User的简单自定义属性。 从System.Web.UI.WebControls.WebParts.WebPart继承的Web部件 private int _mainBodyBorderWidth = 0; [Personalizable(PersonalizationScope.User), WebBrowsable(true), WebDisplayName

我已经为SharePoint 2010创建了Web部件,它包含带有
PersonalizationScope.User
的简单自定义属性。 从
System.Web.UI.WebControls.WebParts.WebPart继承的Web部件

private int _mainBodyBorderWidth = 0;
    [Personalizable(PersonalizationScope.User),
     WebBrowsable(true),
     WebDisplayName("Main Body Border Width"),
     WebDescription("Set main body border width"),
     Category("Style")]
    public int MainBodyBorderWidth
    {
        get
        {
            return _mainBodyBorderWidth;
        }
        set
        {
            _mainBodyBorderWidth = value;
        }
    }
当站点管理员或具有权限的用户添加和自定义页面时单击“个性化页面”,然后单击“编辑我的Web部件”,此属性将显示在Web部件工具窗格中。但是,具有标准权限级别“贡献”的用户无法查看此属性

在阅读和一些调查之后,我得到了以下关于web部件的
safecontrol
标记的结果。以下注意事项必须适用于未经许可的用户可以添加/删除或修改的web部件

  • 在SP 2010中,标记的属性应使用特定的类型名,而不是通配符
  • 属性
    Safe
    设置为“True”
  • 属性
    SafeAgainstScript
    也设置为“True” SafeControl标签的外观与此类似:
  • 但是VS 2010默认情况下会为
    TypeName
    属性生成通配符“*”,并为Web部件项的
    SafeAgainstScript
    属性生成“False”值。因此,您需要更改Web部件项属性安全控制项集合项,该集合项具有特定的类型名称和“SafeAgaginsScript”属性权限值