Come condividere i ticket di autenticazione a più applicazioni

November 8

Come condividere i ticket di autenticazione a più applicazioni


Quando un utente accede attraverso un'applicazione di Microsoft ASP .Net, il sistema crea un ticket di autenticazione, sotto forma di un cookie sul computer dell'utente. Più applicazioni ASP .Net possono condividere il ticket di autenticazione in modo che l'utente non deve effettuare il login con ogni applicazione. Per condividere i ticket di autenticazione, è necessario impostare l'autenticazione di moduli per le stesse impostazioni nel file "web.config" per ogni applicazione e creare un set personalizzato di chiavi di convalida e decrittografia da utilizzare con ogni applicazione.

istruzione

Creazione di convalida e decrittografia Keys

1 Fare clic su "Start", "Tutti i programmi" e "Microsoft Visual Studio." Fare clic su "File", "Nuovo progetto" e scegliere il "modello Applicazione console". Inserire un nome per il progetto, per esempio "Cryptokeys," e fare clic su "OK".

2 Digitare il seguente codice tra "Sub Main ()" e "End Sub:"

Dim validationKeyLength As Integer = 128

Dim decryptionKeyLength As Integer = 64

Dim validationBuffer (validationKeyLength) As Byte

Dim decryptionBuffer (decryptionKeyLength) As Byte

Dim csp come nuovo RNGCryptoServiceProvider ()

Dim validationKey come nuovo StringBuilder (validationKeyLength)

Dim decryptKey come nuovo StringBuilder (decryptionKeyLength)

Dim i As Integer

csp.GetBytes (validationBuffer)

Per i = 0 Per validationBuffer.Length - 1

validationKey.Append (String.Format ( "{0: X2}", validationBuffer (i)))

Next i

csp.GetBytes (decryptionBuffer)

Per i = 0 Per decryptionBuffer.Length - 1

decryptKey.Append (String.Format ( "{0: X2}", decryptionBuffer (i)))

Next i

Console.WriteLine (validationKey)

Console.WriteLine (decryptKey)

3 Digitare le seguenti importazioni di cui sopra "Module Module1:"

Imports System

Imports System.Text

Le importazioni System.Security

Le importazioni System.Security.Cryptography

4 Selezionare "Progetto", poi "costruire" dal menu per compilare il modulo. Nota la directory in cui si trova il "Cryptokeys.exe", ad esempio "C: \ Users \ Steve \ Documenti \ Studio \ Projects \ Cryptokeys \ Cryptokeys \ bin".

5 Fare clic su "Start", "Esegui" e digitare "cmd" per aprire un prompt dei comandi. Passare alla directory in cui si trova il "Cryptokeys.exe". Ad esempio, digitare "cd \ Users \ Steve \ Documenti \ Studio \ Projects \ Cryptokeys \ Cryptokeys \ bin".

6 Tipo "Cryptokeys" per eseguire il programma e generare le chiavi.

modificare web.config

7 Modificare il file "web.config" per ogni applicazione utilizzando un editor. Digitare il codice di configurazione in modo che ogni applicazione utilizzerà lo stesso autenticazione basata su form. Ad esempio, aggiungere il seguente al file "web.config" in ogni applicazione sotto "<configuration> <system.web>:"

<Authentication mode = "Forms">

<Forma di protezione = "All" name = "SharedCookie" loginUrl = "/ posizione / login.aspx" timeout = "60" />

</ Authentication>

8 Fare clic su "Start", "Tutti i programmi", "Accessori, quindi" Blocco note "per aprire il Blocco note. Passare alla finestra del prompt dei comandi e usare" Ctrl + C "per copiare le chiavi generate e" Ctrl + V "per incollarli in Bloc notes.

9 Modificare il file "web.config" per ogni applicazione in un editor e aggiungere le chiavi crittografiche generati. Copiare le chiavi dal blocco note con "Ctrl + C" e incollarli nel codice di configurazione con "Ctrl + V" Per esempio:

<machineKey

validationKey = "6461FC28DF22F492F32503C98D63397E85FC9C7A3F732389FFC84647C39B6F4B8DE1AA6E1CB8EEC9E4592FA1F820F8B9E8EF66904698268114AB2AA313D11974E6A6BF7B4A91708D3E812DA0E864006AA565984F5BB82C23AD80AC18FEE6A611E1204C769F34C43E2803F746320C55D2F84614728C2A3214"

decryptionKey = "62EE0E47E32967F5ECFC1BB8D00FE181347DC1BF198ADF0293CE3D4DAA7E1F77E3FDF28EC8637B86CDD67DBAC1FD45FE7E81E8824D6F2804EF8BD263FEE5F6B1C475B335268837A20596"

validazione = "SHA1" />