代码之家  ›  专栏  ›  技术社区  ›  Dynde

在sharepoint中使用FBA激活自定义功能

  •  1
  • Dynde  · 技术社区  · 14 年前

    我使用基于表单的身份验证为sharepoint中的网站创建了一个带有自定义功能接收器的功能。

    但是,每当我尝试激活该功能(即使基于表单的帐户具有最高权限)时,我会得到一个403-“要求您登录”。

    我可以激活和停用其他功能只是很好,只是不是我的自定义功能。有没有一个特别的技巧来创建功能接收器允许我这样做?

    谢谢

    1 回复  |  直到 14 年前
        1
  •  1
  •   Dynde    14 年前

    显然,完全的管理员模拟和运行与提升的特权做到了这一点。

    这是任何感兴趣的人的代码(在FeatureActivated/-Deactivated方法中):

    SPSecurity.RunWithElevatedPrivileges(delegate() {
        SPWeb _web = properties.Feature.Parent as SPWeb; 
        SPUserToken sysAdmin = _web.Site.SystemAccount.UserToken;
        using (SPSite elevatedSite = new SPSite(_web.Site.ID, sysAdmin)) {
            using (SPWeb web = elevatedSite.OpenWeb(_web.ID)) {
                //Code goes here...
            }
        }
    });