none
[IIS 5.1] Combinare autenticazione integrata con accesso anonimo oppure lasciar accedere alla pagina predefinita se l'autenticazione fallisce RRS feed

  • Domanda

  • Salve,

    sto lavorando ad un sito fatto con C#/ASP.NET. In questo sito voglio usare l'autenticazione integrata di Windows, per non dover inserire di nuovo le credenziali, che dopo un pò sbattimento funziona. Però in questo sito nella pagina aspx sono presenti dei controlli dediti ad identificare l'utente e se risulta che non abbia l'autorizza ad accedere viene reindirizzato ad una pagina di errore registrando il tentativo di accesso nel database dove c'è una tabella di LOG.

    Finché l'accesso viene effettuato da un'utente loggato nel dominio funziona correttamente.

    Però se si tenta di effettuare da un computer con un utente non del dominio, giustamente, mi vengono richieste le credenziali di accesso che se sono errate ho la possibilità di impostare in IIS mandare l'utente ad un file HTML personalizzato (purtroppo non aspx) oppure di mostrare il messaggio predefinito per l'errore 401: "Accesso negato".

    A questo punto volevo chiedervi se è possibile in qualche modo usare l'accesso anonimo una volta che l'autenticazione integrata fallisce in modo che l'utente possa almeno arrivare alla pagina predefinita di controllo in modo da registrare l'accesso anonimo.

    In alternativa pensovo ad una pagina HTML con codice PHP o JS ma purtroppo non conosco molto bene questi linguaggi...

    Voi potreste suggerirmi qualcosa?

    Grazie.

    NOTE: Il web server è un computer con Windows XP Professional SP3 con IIS 5.1.


    • Modificato y_chen martedì 13 settembre 2011 21:21
    martedì 13 settembre 2011 21:18

Risposte

Tutte le risposte

  • Salve,

    sto lavorando ad un sito fatto con C#/ASP.NET. In questo sito voglio usare l'autenticazione integrata di Windows, per non dover inserire di nuovo le credenziali, che dopo un pò sbattimento funziona. Però in questo sito nella pagina aspx sono presenti dei controlli dediti ad identificare l'utente e se risulta che non abbia l'autorizza ad accedere viene reindirizzato ad una pagina di errore registrando il tentativo di accesso nel database dove c'è una tabella di LOG.

    Finché l'accesso viene effettuato da un'utente loggato nel dominio funziona correttamente.

    Però se si tenta di effettuare da un computer con un utente non del dominio, giustamente, mi vengono richieste le credenziali di accesso che se sono errate ho la possibilità di impostare in IIS mandare l'utente ad un file HTML personalizzato (purtroppo non aspx) oppure di mostrare il messaggio predefinito per l'errore 401: "Accesso negato".

    A questo punto volevo chiedervi se è possibile in qualche modo usare l'accesso anonimo una volta che l'autenticazione integrata fallisce in modo che l'utente possa almeno arrivare alla pagina predefinita di controllo in modo da registrare l'accesso anonimo.


    perchè non gestisci l'errore con la pagina personalizzata MyError.aspx e l'istruzione

    <customErrors defaultRedirect="MyError.aspx" mode="RemoteOnly"/>
    
    

    inserita nel web.config ricordandoti di configurare la sicurezza di quella singola pagina MyError.aspx messa magari in una cartella creata ad-hoc il cui accesso sia garantito ad everyone ?

    ciao.


    Edoardo Benussi
    Microsoft MVP - Management Infrastructure
    edo[at]mvps[dot]org
    mercoledì 14 settembre 2011 06:33
    Moderatore
  • Ho aggiunto anche

    <error statusCode="401" redirect="Errore401.aspx" />

    ma continua rimandarmi alla pagina predefinita, quella HTML. Non è che c'è qualcosa da modificare in IIS o il web.config scavalca IIS?
    • Modificato y_chen mercoledì 14 settembre 2011 08:42
    mercoledì 14 settembre 2011 08:40
  • chiedo scusa per l'indicazione non corretta ma sono stato tratto in inganno dal fatto che tu mi hai parlato di pagina di errore.

    in realtà, il fatto che un'autenticazione fallisca non è un errore ma un evento gestibile dal processo di autenticazione di .net per cui segui attentamente qui

    http://forums.asp.net/p/1589449/4023412.aspx/1?How+to+redirect+page+if+authentication+fails

    ciao.

    ps: già che ci sono aggiungo pure queste risorse:

    http://msdn.microsoft.com/en-us/library/ff647070.aspx

    http://msdn.microsoft.com/en-us/library/ms972958.aspx

    http://stackoverflow.com/questions/4834387/how-to-redirect-users-to-an-asp-net-page-when-not-authorized


    Edoardo Benussi
    Microsoft MVP - Management Infrastructure
    edo[at]mvps[dot]org
    mercoledì 14 settembre 2011 08:50
    Moderatore
  • Ciao,

    non abbiamo ricevuto aggiornamenti in seguito all'intervento sopra. 

    Possiamo considerare risolto il tuo quesito? 

    Grazie in anticipo di un tuo riscontro,


    Anca Popa Follow ForumTechNetIt on Twitter

    Come inserire immagini nei post

    Microsoft offre questo servizio gratuitamente, per aiutare gli utenti e aumentare il database dei prodotti e delle tecnologie. Il contenuto viene fornito “così come è” e non comporta alcuna responsabilità da parte dell'azienda

    lunedì 19 settembre 2011 07:16
  • Sinceramente non ho avuto il tempo di leggere tutti i link. Ho provato a leggere le indicazioni di un paio di quelli forniti ma non funzionano.

    Gli altri che mi mancano non ho avuto il tempo di darci un'occhiata visto anche il fatto che le pagine di errore personalizzate non sono fra le priorità. Pensavo che fosse una cosa più immediata ma visto che non è così ci darò un'occhiata più approfondita quando avrò il tempo.

    Intanto impedisci gli accessi non autorizzati e può essere sufficiente.

    Grazie per le risposte!

    giovedì 22 settembre 2011 20:18