HTTPSSO (esempio di BizTalk Server)
L'esempio HTTPSSO illustra come usare la funzionalità Enterprise Single Sign-On (SSO) con l'adapter HTTP di Microsoft BizTalk Server.
Nota
Questo esempio non è supportato nei sistemi operativi a 64 bit.
In questo esempio viene illustrato uno scenario end-to-end in cui vengono utilizzati SSO e gli adapter di trasmissione e ricezione HTTP BizTalk per simulare in che modo SSO consente a un utente di evitare di specificare ulteriori credenziali per eseguire l'accesso a sistemi non Microsoft Windows dopo l'autenticazione da parte di Windows.
Nell'esempio vengono inoltre utilizzati i moduli di amministrazione e mapping di SSO per creare mapping SSO e applicazioni affiliate utilizzando la DLL del client di interoperabilità di SSO.
Nell'esempio viene illustrato l'utilizzo di SSO mediante l'implementazione degli aspetti seguenti in uno scenario end-to-end:
Interfaccia utente, rappresentata da una directory virtuale di Microsoft Internet Information Services (IIS) configurata per utilizzare l'autenticazione integrata di Windows.
Sistema back-end, rappresentato da una directory virtuale di IIS configurata per l'utilizzo dell'autenticazione di base.
Database back-end, rappresentato dal database di esempio SQL Northwind.
Questo esempio presuppone che sia stato installato BizTalk Server e SSO. È necessario disporre dei privilegi di amministratore per BizTalk Server, IIS, SSO e COM+ in Windows XP Professional. È inoltre necessario essere membri dei gruppi di Windows Amministratori SSO, Amministratori BizTalk Server e Utenti host BizTalk di tipo Isolato.
Il corretto utilizzo di questo esempio presuppone una conoscenza sufficiente di SSO e dell'adapter HTTP BizTalk. Ad esempio, è necessario sapere che cos'è un'applicazione affiliata nel contesto di SSO. Per informazioni su questi argomenti, vedere Uso dell'accesso SSO. Vedere anche Adapter HTTP.
Dopo il completamento della configurazione, il funzionamento di questo esempio sarà il seguente:
Quando si fa clic su Fine nell'applicazione guidata che include l'interfaccia utente per questo esempio, viene avviata un'istanza di Internet Explorer e viene passato l'URL della DLL di ricezione HTTP BizTalk.
BizTalk Server, in combinazione con SSO, inoltra la richiesta HTTP al file EmployeeData.aspx in una directory virtuale IIS configurata con l'autenticazione di base. Questo file ASPX simula il punto di ingresso in un sistema back-end non Windows. Poiché si utilizza SSO, la richiesta HTTP include le credenziali configurate che simulano un account di accesso al sistema back-end simulato.
Il file ASPX accede a una versione modificata del database SQL di esempio Northwind per recuperare i dati dei dipendenti corrispondenti alle credenziali del sistema back-end simulato.
Il file ASPX restituisce i dati recuperati relativi ai dipendenti in una risposta HTTP.
La risposta HTTP viene instradata da BizTalk Server a Internet Explorer che visualizza all'utente i dati restituiti relativi ai dipendenti.
Se si ignorano BizTalk Server e SSO e si passa direttamente al file EmployeeData.aspx, verrà visualizzata una finestra di dialogo di Windows in cui viene richiesto di immettere le credenziali.
Per un esempio che illustra come usare l'utilità della riga di comando ssomanage.exe per configurare l'accesso SSO, ad esempio la creazione di applicazioni affiliate e mapping utente, vedere Gestire (BizTalk Server Esempio).
<Percorso> esempi\SSO\HTTPSSO\
Nella seguente tabella sono riportati i file inclusi nell'esempio e ne viene descritto lo scopo.
File | Descrizione |
---|---|
AssemblyInfo.cs, SsoSample.csproj | File di progetto e correlati per questo esempio SSO HTTP. |
SsoSample.cs | File di origine Microsoft Visual C# principale per l'applicazione grafica SSO HTTP che costituisce gran parte di questo esempio. Questo file contiene il codice di configurazione SSO, in una classe denominata SsoConfigurator che è in definitiva il punto di questo esempio. |
Nella cartella \Script: EmployeeData.aspx | Utilizzato per accedere al database back-end ed eseguire query su di esso (in questo caso il database SQL Northwind) quando un dipendente avvia una richiesta per la visualizzazione dei dati personali direttamente o tramite SSO. |
Nella cartella \Script:ValidateUser.aspx | Semplice test per convalidare un utente e segnalare se tale utente è stato convalidato direttamente o tramite SSO. |
Nella cartella \UI: AddApplication.cs, AddApplication.resx, AddMapping.cs, AddMapping.resx, App.ico, BtsPage.cs, BtsPage.resx, ExecutePage.cs, ExecutePage.cs, ExecutePage.resx, FinishPage.cs, FinishPage.resx, IisPage.cs, IisPage.resx, InfoPage.cs, InfoPage.resx, PageBase.cs, PageBase.resx, SsoPage.cs, SsoPage.resx, SsoSampleWizard.cs, SsoSampleWizard.resx, WelcomePage.resx, WorkPage.resx, WorkPage.resx | File di origine Microsoft® Visual C#® ausiliario e relativi file di risorse associati in formato XML per l'applicazione grafica SSO HTTP che costituisce la maggior parte di questo esempio. |
Creare un account di Windows locale che potrà essere utilizzato da Microsoft Internet Information Services (IIS) per l'autenticazione di base. SSO esegue il mapping dell'account di dominio di Windows a questo account di Windows locale. Utilizzare, ad esempio, il proprio cognome per creare un account di Windows locale.
Nota
Se l'esempio viene eseguito in un controller di dominio, è possibile creare account di dominio ed eseguire il mapping dell'account di dominio connesso a questo account.
Usando Microsoft SQL Server Enterprise Manager, aprire la tabella Employees nel database di esempio Northwind e quindi aggiungere una riga corrispondente all'account Windows locale appena creato, inclusi i dati di esempio per le varie colonne. Il valore aggiunto nella colonna LastName nella tabella Employees deve corrispondere al nome utente dell'account di Windows locale aggiunto nel passaggio 1.
Verificare che l'account ASP.NET (ASPNET) disponga di privilegi di lettura nel database Northwind.
Aprire il file di progetto SsoSample.csproj tramite Visual Studio.
Nel menu Compila scegliere Compila soluzione.
Nota
È possibile che venga chiesto di salvare un file di soluzione prima che la compilazione possa procedere.
Se non è possibile trovare i riferimenti degli assembly BizTalk seguenti per il progetto, eliminarli, aggiungerli di nuovo dai percorsi indicati e ripetere la compilazione:
Microsoft.BizTalk.ExplorerOM. Per impostazione predefinita, il file Microsoft.BizTalk.ExplorerOM.dll si trova nella cartella \Programmi (x86)\Microsoft BizTalk Server <VERSION>Developer Tools\.
Microsoft.BizTalk.SSOClient.Interop. Per impostazione predefinita, il file Microsoft.BizTalk.Interop.SSOClient.dll si trova nella cartella <ProgramFiles>\Common Files\Enterprise Single Sign-On\.
Verrà prodotto il file eseguibile SsoSample.exe nella cartella seguente:
<Percorso> esempi\SSO\HTTPSSO\bin\Debug\
Nota
Se si esegue questo esempio in IIS 6.0 in modalità di isolamento del processo di lavoro, verranno creati pool di applicazioni per entrambe le directory virtuali. È necessario configurare manualmente l'identità per questi due pool di applicazioni nell'account di Windows (è possibile configurare l'identità in Gestione Internet Information Services).
Eseguire il file eseguibile SsoSample.exe disponibile nella cartella seguente:
<Percorso> esempi\SSO\HTTPSSO\bin\Debug\
Verrà aperta la procedura guidata per questo esempio.
Nella pagina iniziale accettare l'impostazione predefinita per la configurazione di IIS, SSO e BizTalk e quindi fare clic su Avanti.
Nella pagina Configurazione IIS accettare le impostazioni predefinite per le due directory virtuali IIS da creare e quindi fare clic su Avanti.
Nella pagina Configurazione SSO accettare le impostazioni predefinite per l'applicazione affiliata, accessibile usando il pulsante Aggiungi applicazione .
Nella pagina Configurazione SSO accettare la maggior parte delle impostazioni predefinite per i mapping utente, accessibili usando il pulsante Aggiungi mapping . Specificare i valori per le due impostazioni seguenti, in base all'account di Windows locale aggiunto durante la compilazione e inizializzazione di questo esempio.
Impostazione Valore External user name Impostare sul nome dell'account utente di Windows locale aggiunto. External user password Impostare sulla password dell'account utente di Windows locale aggiunto. Nella pagina Configurazione SSO fare clic su Avanti.
Nella pagina Configurazione BizTalk accettare le impostazioni predefinite per le porte di invio e ricezione e così via e quindi fare clic su Avanti.
Nota
È possibile modificare l'impostazione predefinita della porta di invio da EmployeeData.aspx a ValidateUser.aspx se si desidera visualizzare la convalida utente semplice anziché i dati di esempio estratti dalla tabella Employee del database SQL Northwinds. Apportare questa modifica modifica alla natura dell'output visualizzato nel browser dopo aver fatto clic su Fine nel passaggio 9.
Esaminare i messaggi di stato corrispondenti all'esecuzione della configurazione di IIS, SSO e BizTalk. È possibile trovare il codice eseguito durante questa fase nelle classi IisConfigurator, SsoConfigurator e BtsConfigurator definite nel file SsoSample.cs. Al termine della configurazione, fare clic su Avanti.
Nella pagina finale dell'applicazione guidata accettare le impostazioni predefinite per Start browser in (una casella di controllo selezionata e una casella di testo con l'URL
http://localhost/SsoSampleBizTalkHttpReceive/BTSHttpReceive.dll?<message/>
) e quindi fare clic su Fine.Verrà aperta un'istanza di Internet Explorer e verranno visualizzati i dati di esempio relativi ai dipendenti aggiunti alla tabella Employees del database SQL Northwind.
Ai fini del confronto, è possibile ignorare BizTalk e SSO e passare direttamente a uno dei file ASPX:
http://localhost/SsoSampleServerApplication/ValidateUser.aspx
http://localhost/SsoSampleServerApplication/EmployeeData.aspx
In entrambi i casi, poiché BizTalk e SSO vengono ignorati, da parte di IIS verranno richieste le informazioni di autenticazione (utilizzare le informazioni sull'account di Windows locale creato in precedenza).
La procedura guidata SsoSample.exe consente di configurare due directory virtuali IIS:
La prima directory virtuale viene configurata con l'autenticazione integrata di Windows e corrisponde all'estensione ISAPI di ricezione HTTP BizTalk. Deve essere associata al file DLL BTSHTTPReceive.dll disponibile nella cartella seguente:
<Percorso> di installazione\HttpReceive
La seconda directory virtuale viene configurata con l'autenticazione di base e simula un sistema back-end che accetta un ID utente e una password per autenticare l'utente. Deve essere associata a uno dei file ASPX, ValidateUser.aspx o EmployeeData.aspx, disponibile nella cartella seguente:
<Percorso> esempi\SSO\HTTPSSO\Script
È possibile utilizzare la procedura guidata SsoSample.exe per configurare una o più applicazioni affiliate. Per ogni applicazione affiliata è possibile creare uno o più mapping utente. Per ognuno di tali mapping utente viene eseguito il mapping di un account utente di Windows a un account utilizzato per accedere a un sistema back-end specifico. In questo esempio, tale account è un account di Windows locale utilizzato per l'autenticazione con la seconda directory virtuale IIS che simula un reale sistema back-end.
Per eseguire di nuovo questo esempio, sono disponibili diverse opzioni:
Passare direttamente all'URL seguente in Internet Explorer:
http://localhost/SsoSampleBizTalkHttpReceive/BTSHttpReceive.dll?<message/>
Eseguire di nuovo la procedura guidata, deselezionando tuttavia tutte le caselle di controllo di configurazione nella prima pagina.
Eseguire di nuovo la procedura guidata, lasciando selezionate le caselle di controllo di configurazione nella prima pagina, ma configurando con attenzione e nel modo appropriato gli elementi di BizTalk aggiuntivi, le applicazioni affiliate e così via, per evitare qualsiasi errore di configurazione.
Per rimuovere questo esempio, attenersi alla procedura seguente:
A seconda dei casi, annullare la configurazione manuale eseguita, ad esempio rimuovere l'account di Windows locale.
Rimuovere le applicazioni IIS corrispondenti alle directory virtuali e quindi eliminare le directory virtuali IIS create da questo esempio.
Utilizzando la Console di amministrazione BizTalk, rimuovere ed eliminare la porta di trasmissione associata a questo esempio. Eliminare quindi la porta di ricezione (e il relativo indirizzo di ricezione) associata a questo esempio.
Utilizzare l'applicazione Ssomanage (disponibile in \Programmi\File comuni\Enterprise Single Sign-On\) per eliminare l'applicazione SSO per questo esempio:
Ssomanage –deleteapp SsoSampleApplication