Question

Le but est de bloquer la page interne des paramètres de messagerie entrants (/_layouts/emailsettings.aspx) aux utilisateurs non administratifs ou, simplement, à tous avec un compte d'exception.

via élément d'autorisation dansWeb configuration Aucun accès est restreint avec l'entrée suivante:

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

Toutes les pensées?

Était-ce utile?

La solution 2

non recommandable , mais j'ai ajouté le code suivant à la page de layout:

dans un élément de script, avec la propriété 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."));
    }

Autres conseils

La façon dont j'ai fait exactement cela quelques années de retour développé une bande Web SharePoint ShareSeConTrol et l'agraque à la placeholderadditionalpagehead.

Le WebControl comprendrait le code pour vérifier si la page "/_Layouts/Mailsettings.aspx" est touchée et si oui, vérifiez qui tente d'atteindre cette page (dans mon cas, vérifiez web.config pour un nom d'utilisateur particulier).

n'était pas vraiment très difficile une fois que j'ai eu la plomberie de base faite mais nécessite des compétences de codage C # (pas nécessairement Visual Studio si vous pouvez vivre avec des outils de base tels que NOTEPAD ++ et l'outil de commande Codépleplex WSPBuilder).

Faites-moi savoir si vous êtes prêt pour un code C # rugueux et je vais le creuser d'une vieille archive une fois que je suis de retour à la maison de voyager plus tard.

Licencié sous: CC-BY-SA avec attribution
Non affilié à sharepoint.stackexchange
scroll top