我已经创建了一个自定义网站,该网站将为希望使用asp.net会员帐户访问我的sharepoint网站的新用户提供注册。当新用户单击注册时,我想向特定sharepoint组的所有成员发送有关新用户的电子邮件通知。问题是,注册站点允许匿名访问(以及它必须:))但是获取组中所有用户的代码(第二行)会将我重定向到登录页面:
var web = SPContext.Current.Web;
return web.Groups[groupName].Users;
我创建了一个新用户组并设置了“谁可以查看该组的成员资格?”对每个人来说,但是,如果没有登录,我就无法获得这些群组。这是否可能?
答案 0 :(得分:0)
SharePoint可以使用RunWithElevatedPrivileges运行代码块,RunvithElevatedPrivileges在SharePoint系统帐户的标识下运行。如果您将代码块包装在上面,您应该能够获得您正在引用的组。
确保正确调用代码上的Dispose非常重要,这样您就不会留下对spSite对象等的引用。因此,几乎所有RunWithElevatedPrivileges示例都使用using构造。
的更多信息
答案 1 :(得分:0)
当我之前这样做时,我创建了一个列表,允许匿名用户创建新项目,然后在列表上发出警报,向相应的人/组发送通知。我不记得以这种方式发送通知存在任何安全问题。