目的是阻止传入的电子邮件设置内部页面(/_layouts/emailsettings.aspx)到非管理员用户,或者只是使用异常帐户。

通过授权元素Web Config无法使用以下条目限制:

  <location path="_layouts/EmailSettings.aspx">
    <system.web>
      <authorization>
      <deny users="*"/> 
      </authorization>
    </system.web>
  </location>
.

任何想法?

有帮助吗?

解决方案 2

不可推荐,但我将以下代码添加到布局页面:

在脚本元素中,使用runat=“server”属性

    protected void Page_Load(object sender, EventArgs e)
    {
        if(!SPContext.Current.Web.CurrentUser.IsSiteAdmin) 
            SPUtility.HandleAccessDenied(new Exception("Only Site Admins can access Incoming e-mail settings."));
    }
.

其他提示

我所做的一切恰好这一点后面的几年后正在开发一个SharePoint DelegateControl WebControl并将其订立到占位楼章DitionalPagehead。

WebControl将包括代码来检查“/_layouts/emailsettings.aspx”页面是命中的,如果需要检查谁试图到达此页面(在我的情况下检查Web.config为特定用户名)。

一旦我完成了基本的管道但需要C#编码技能并不是很难(不一定是Visual Studio,如果您可以使用Notepad ++等一些基本工具和CodePlex WspBuilder Commandline工具)。

让我知道如果你有一些粗糙的C#代码,我会从旧的存档中挖掘它一旦我回到家里以后回来。

许可以下: CC-BY-SA归因
scroll top