Domanda

Lo scopo è quello di bloccare le impostazioni di posta elettronica in arrivo Pagina interna (/_Layouts/emailsetings.aspx) agli utenti non amministrativi o, semplicemente, a tutti con un account di eccezione.

Via Elemento di autorizzazione inWeb Config Nessun accesso è frenante con la seguente voce:

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

Qualche idea?

È stato utile?

Soluzione 2

Non raccomandabile , ma ho aggiunto il seguente codice alla pagina Layout:

In un elemento di script, con runat= proprietà "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."));
    }
.

Altri suggerimenti

Il modo in cui ho fatto esattamente questo un paio di anni di età stava sviluppando un WebControl di SharePoint DelegateControl e prepararlo al portholerodditionalpagePage.

Il WebControl includerebbe il codice per verificare se la pagina "/_Layouts/emailsetings.aspx" viene colpito e se è in tal caso che controlla chi sta cercando di raggiungere questa pagina (nel mio caso checking web.config per un particolare nome utente).

.

Non è stato in realtà molto difficile una volta che ho fatto l'impianto idraulico di base ma richiede le capacità di codifica C # (non necessariamente Visual Studio se è possibile vivere con alcuni strumenti di base come Blocco note ++ e lo strumento Commandline Codeplex Wspbuilder).

Fammi sapere se sei pronto per un po 'di codice c # e lo scatenerò da un vecchio archivio una volta tornato a casa dal viaggiare più tardi.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a sharepoint.stackexchange
scroll top