【发布时间】:2013-02-06 15:57:14
【问题描述】:
我有一个共享点问题。我在列表中有一个事件处理程序,每当有人在列表中添加新项目时,我想创建一个包含所需详细信息的新网站。当不是网站集管理员的不同用户添加该项目时,就会出现问题。在 Web.Webs.Add() 方法上我得到错误:
Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED)).
请注意,我使用的是 SPSecurity.RunWithElevatedPrivileges 委托。
这是一个代码示例:
public override void ItemAdded(SPItemEventProperties properties)
{
SPSecurity.RunWithElevatedPrivileges(delegate()
{
string url = "the url";
if (Array.IndexOf(properties.Web.Webs.Names, url) >= 0)
{
properties.Web.Webs.Delete(url);
}
SPWeb newWeb = properties.Web.Webs.Add(url, "title", "description", properties.Web.Language, "STS#1", false, false);
});
}
谢谢。
【问题讨论】:
标签: sharepoint access-denied elevated-privileges