Domanda

Sto sviluppando un'applicazione Web e devo combinare Forms & amp; Autenticazione di Windows insieme.

L'approccio che ho selezionato è questo: il metodo di autenticazione su tutto il sito web deve essere l'autent dei moduli. C'è una pagina del modulo ( ~ / home / Login ) per accedere tramite l'autent dei moduli. La magia (e il problema) è che solo una pagina (diciamo ~ / Home / WinLogin ) deve avere il metodo di autenticazione impostato come windows auth. Questa pagina viene utilizzata per leggere HttpContext.User.Identity.Name per ottenere il nome utente di Windows.

Quello che non so è come impostare l'autorizzazione alla vittoria su iis6 per un percorso particolare?

Il percorso sembra ~ / Home.ashx / WinLogin . Ok, ma allora? Ho provato a creare una directory Home.ashx nella directory virtuale e nella sottodirectory WinLogin. Ma poi ~ / Home.ashx / Login (con il modulo di login) ha smesso di funzionare.

Perché su iis6 dobbiamo usare un gestore ashx sembra che non ci sia altro modo di farlo invece di creare una normale pagina web ~ / WinLogin.aspx che funzioni. Tuttavia, volevo evitarlo e usare solo MVC.

Solo per informazioni su come impostare iis7: Blog sul lato server di IIS 7.0 Non è perfetto (Mike Volodarsky ha dovuto creare un modulo di autorizzazione per moduli personalizzati), ma funziona.

È stato utile?

Soluzione

Non è possibile impostare selettivamente l'autenticazione di Windows in IIS6 come in IIS7. È possibile tuttavia impostare home.ashx per supportare l'autenticazione anonima e windows; sostituire la proprietà HttpContext.User nel caso / Login e utilizzare il principio windows nel caso / WinLogin. Tuttavia, devi fare attenzione che il tuo percorso di codice consenta il caso in cui desideri che utilizzino i moduli auth ma ti stanno presentando un'identità del principio di Windows e ignorala.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top