Domanda

Ecco la mia situazione. Ho un'applicazione DotNetNuke. Voglio collegarmi a un sito Web ASP.net esistente all'interno del sito Web DNN e per questo ho deciso di utilizzare l'IFrame di DNN.

L'applicazione ASP.net esistente utilizza Forms Authentication per motivi di sicurezza: solo gli utenti autorizzati possono accedere alle pagine. Questa applicazione asp.net richiede anche ruoli utente per l'autorizzazione a pagine diverse.

Non voglio che gli utenti debbano accedere due volte e vorrei che la pagina asp.net utilizzasse i dati di appartenenza e ruolo dell'utente dall'applicazione DNN: non dovrebbe richiedere il proprio database di appartenenza.

È possibile? Secondo il sito Web MSDN:

" ASP.NET supporta l'autenticazione di moduli in un ambiente distribuito, tra applicazioni su un singolo server o in una Web farm. Quando l'autenticazione basata su moduli è abilitata su più applicazioni ASP.NET, gli utenti non sono tenuti a ripetere l'autenticazione quando si passa da un'applicazione all'altra. & Quot;

Questo vale per le applicazioni DotNetNuke collegate ad applicazioni asp.net? Entrambi sono anche sullo stesso dominio.

(Ho provato a modificare il file config.web della pagina asp.net in modo che funzionasse con il DNN config.web, facendo corrispondere le impostazioni dei tasti macchina e dei moduli - ma non ha funzionato. Potrei fare qualcosa di sbagliato, ma prima di perseguire, voglio sapere se è persino possibile.)

Grazie per l'aiuto!

È stato utile?

Soluzione

Non so se ciò di cui stai parlando sia possibile all'interno di DNN. Siamo su DNN 4.0 e fanno alcune cose strane con le tabelle di appartenenza ASP.NET che potrebbero causare problemi.

Quello che posso dirti è un modo alternativo (supponendo che tu abbia il controllo sull'applicazione ASP.NET). Esiste un progetto chiamato MADAM (Moduli ASP.NET per la disposizione di autenticazione mista - lo so un po ' di un boccone) che può essere utilizzato per fornire un metodo diverso dall'autenticazione dei moduli per l'accesso all'applicazione.

Quello che potresti fare è impostare MADAM sull'applicazione ASP.NET e da DNN passare le credenziali dell'utente all'applicazione ASP.NET. Il risultato finale appare all'utente come single sign-on.

Se hai bisogno che io elabori qualcosa, fammelo sapere nei commenti.

Altri suggerimenti

In realtà sto visualizzando alcune pagine aspx in un modulo iframe presente su una pagina dnn. Ora da dentro l'iFrame sto visualizzando pagine aspx ospitate altrove ma sullo stesso server. Voglio solo autenticare l'utente che ha effettuato l'accesso prima di caricare la pagina all'interno di iFrame.

Non fornire alcuna API che posso chiamare da pagine apsx ospitate altrove al fine di limitare l'accesso a un solo utente non autorizzato.

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