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

时间:2010-11-02 08:31:02

标签: c# sharepoint sharepoint-2007 forms-authentication

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

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

我可以很好地激活和停用其他功能,而不是我的自定义功能。使用功能接收器创建功能是否有特殊技巧可以让我这样做?

由于

1 个答案:

答案 0 :(得分:1)

显然完全可以使用admin-impersonation和RunWithElevatedPrivileges。

以下是感兴趣的人的代码(参见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...
        }
    }
});