Formų autentifikavimas bilietų ir slapukas


ASP.NET palaikymo balso stulpelio


Formų autentifikavimas bilietų ir slapukas

Norėdami tinkinti šį stulpelį į jūsų poreikius, mes norite pakviesti galite pateikti savo idėjas, antraštes, kad palūkanų jums ir problemoms, kurių norite pamatyti įtrauktas į būsimus žinių bazės straipsniai ir palaikymo balso stulpelius. Galite pateikti savo idėjas ir atsiliepimus, naudojant formą Pateikite jį . Taip pat yra saitas į formą šio stulpelio apačioje.

Įvadas

Sveiki atvykę į Microsoft ASP.NET Support balso stulpelį! Manau, nerija b Shah ASP.NET kūrėjų palaikymo komanda. Aš dirbu su ASP.NET palaikymo daugiau nei 1,5 metų. Formų autentifikavimas yra tikrai smagias autentifikavimo funkcija. Šis straipsnis apima kai kurias problemas, nustatė, kad vartotojai painioja su formų autentifikavimas, pvz., formų autentifikavimo bilietą ir formų autentiškumo slapukų ir jų atitinkamų parametrų ryšį. Norėčiau dėkoja Jerry Orman, techninio vadovo ASP.NET palaikymo komandai, už neįtikėtiną pagalbą!

Žmonės kartais žinoti apie formų autentifikavimas "bilietų" ir "slapukai", nes jie yra glaudžiai susiję. Turiu susidurti klausimai tokie: ar kas nors paaiškinti skirtumą tarp slapuko galiojimo laikas ir bilietų galiojimo pabaigos? Pasibaigus slapuką, vartotojas būsite nukreipti į prisijungimo puslapį. Kas atsitinka, kai bilieto galiojimo laikas? Jis taip pat leis baigiasi slapukų? Ką daro SlidingUpdate iš tikrųjų atnaujinti?

Aš dėmesio į šiuos du aspektus formų autentifikavimas šiame straipsnyje atsakyti į šiuos klausimus:
  • Kas yra formų autentifikavimo bilietą ir formų autentiškumo slapukų? Kaip jie susiję?
  • Koks vaidmuo formų autentifikavimas bilieto?
  • Kaip susiję slapuko galiojimo laikas ir bilietų galiojimo pabaigos?
  • Kaip veikia stumdomas pagal formų autentifikavimas bilietų galiojimo ir formų autentiškumo slapukų?
  • Jei galite nustatyti ypatybę skirtojo laiko formų autentiškumo slapukų ir formų autentifikavimo bilietą?
  • Problema scenarijus: formų autentifikavimas laikas gali baigtis prieš skirtojo laiko atributo reikšmė nustatyta naudojant konfigūracijos failą

Kas yra formų autentifikavimo bilietą ir formų autentiškumo slapukų? Kaip jie susiję?

Formų autentiškumo slapukų nėra, tačiau konteinerio formų autentifikavimas bilietų. Bilietas yra perduodamas kaip kiekvieno prašymo formų autentiškumo slapukų ir naudojamas formų autentifikavimas, serveryje, nustatyti autentifikuotas vartotojas.

Tačiau, jei mes cookieless formų autentifikavimą, bilieto išnyksta URL užšifruoto formatu. Dėl to, kad kartais kliento naršyklės slapukų blokavimas naudojamas cookieless formų autentifikavimas. Ši funkcija yra įtraukta į Microsoft .NET Framework 2.0.

Jei norite gauti daugiau informacijos, apsilankykite šioje "Microsoft" programų kūrėjų tinklo (MSDN) žiniatinklio svetainėje:

Koks vaidmuo formų autentifikavimas bilieto?

Formų autentifikavimas bilietas yra naudojamas ASP.NET programai, kurie yra nurodyti. Taigi, bilietas yra formų autentifikavimas saugos.

Bilietas yra užšifruotas ir pasirašytas naudojant serverio Machine.config faile < machineKey > konfigūracija elementas. ASP.NET 2.0 naudoja decryptionKey ir naują iššifravimas atributą < machineKey > elemento užšifruoti formų autentifikavimas bilietų. Iššifravimas atributas leidžia jums nurodyti šifravimo algoritmo naudoti. ASP.NET 1.1 ir 1.0 naudoti 3DES šifravimo, kuris nėra konfigūruojama. Sugadinimas bilietų reikšmė nustatoma pagal iššifruoti bilietų į serverį nepavyko. Be to, vartotojas būsite nukreipti į prisijungimo puslapį.


Jei programa yra įdiegta žiniatinklio ūkio, įsitikinkite, kad kiekvieno serverio konfigūracijos failus bendrinti validationKey ir decryptionKey atributų < machineKey > žymę, kuri yra naudojama maiša ir iššifravimas bilieto atitinkamai reikšmė tokia pati. Jūs turite tai padaryti, nes negali garantuoti, kuris serveris atliks iš eilės užklausos. Daugiau informacijos apie FormsAuthenticationTicket šifravimo ir žiniatinklio ūkio visuotinio diegimo aspektai, apsilankykite šioje MSDN žiniatinklio svetainėje:Per pėsčiomis būdų rankiniu būdu sukurti klavišus galima rasti šioje "Microsoft" žinių bazės straipsnius:
312906 kaip sukurti klavišus naudoti formų autentifikavimas naudojant Visual C# .NET

313091 kaip sukurti klavišus naudoti formų autentifikavimas naudojant Visual Basic .NET

Formų autentifikavimas bilietų rankiniu būdu gali būti sugeneruotas naudojant FormsAuthenticationTicket klasę. Jei norite gauti daugiau informacijos, apsilankykite šioje MSDN žiniatinklio svetainėje:

Kaip susiję slapuko galiojimo laikas ir bilietų galiojimo pabaigos?

Jei ne-slapukas, jei bilieto galiojimo laikas baigėsi, taip pat slapukų baigs galioti ir vartotojo būsite nukreipti į prisijungimo puslapį. Iš kitos pusės, jei bilietas yra pažymėtas kaip nuolatinių, kai slapuką, esantį kliento naršyklės galite naudoti tą patį autentifikavimo slapuką įeiti į svetainę bet kuriuo metu. Tačiau mes galime naudoti FormsAuthentication.SignOut būdas panaikinti nuolatinių ar -Nuolatiniai slapukai aiškiai.

Jei norite gauti daugiau informacijos apie FormsAuthentication.SignOut metodą, apsilankykite šioje MSDN žiniatinklio svetainėje:Cookieless formų autentifikavimas, jei naršyklė yra uždarytas, prarandamas bilietą ir kiti prašymu bus sukurtas naujas bilietas.

Kaip veikia stumdomas pagal formų autentifikavimas bilietų galiojimo ir formų autentiškumo slapukų?

Stumdomas galiojimo veikia taip pat!

Panagrinėkime pavyzdį: jei prisijungimo puslapis yra prieinama 5:00 00:00:00 val., jis turėtų baigtis 5:10 00:00:00 val. Jei atributą skirtasis laikas yra 10 ir slidingExpiration atributas yra nustatyta kaip teisinga. Dabar, jei bet kurį tinklalapį dar kartą peržiūrima 5:05 00:00:00 val., slapukus ir bilietų skirtąjį laiką bus galima pakeisti į 5:15 00:00:00 val.

Pastaba. Jei tinklalapis pasiekiamas prieš pusę galiojimo laikui bėgant, bilietų galiojimo laikas nėra atkurti. Priekinės pavyzdys, jei pasiekiamas iš bet kurio tinklalapio dar kartą 5:04 00:00:00 val., slapukus ir bilietų skirtasis laikas nėra iš naujo nustatomos.

Jei norite gauti daugiau informacijos, apsilankykite šioje MSDN žiniatinklio svetainėje:

Kur galima nustatyti skirtojo laiko reikšmę, formų autentiškumo slapukų ir formų autentifikavimo bilietą?

Tik parametrus, kuriuos galite padaryti yra Web.config failą arba Machine.config failą, lauke < formos > žymėti. Šis pakeitimas nurodo tam tikrą laiką formų autentifikavimo pagal bilietų ar slapukų, išskyrus atvejus, kai bilietas sukurtas rankiniu būdu.

<!--forms Attributes: 
name="[cookie name]" - Sets the name of the cookie used for Forms Authentication.
loginUrl="[url]" - Sets the URL to redirect client to for authentication.
protection="[All|None|Encryption|Validation]" - Sets the protection mode for data in cookie.
timeout="[minutes]" - Sets the duration of time for cookie to be valid (reset on each request).
path="/" - Sets the path for the cookie.
requireSSL="[true|false]" - Should the forms authentication cookie be sent only over SSL?
slidingExpiration="[true|false]" - Should the forms authentication cookie and ticket be reissued if they are about to expire?
-->
Jei norite gauti daugiau informacijos, apsilankykite šioje MSDN žiniatinklio svetainėje:Jei bilietas sukurtas rankiniu būdu naudojant FormsAuthenticationTicket klasės, skirtojo laiko gali būti nustatytas per galiojimo atributas. Ši reikšmė pakeis skirtojo laiko atributo reikšmė nurodyta konfigūracijos failai.

Jei norite gauti daugiau informacijos apie FormsAuthenticationTicket nariai, apsilankykite šioje MSDN žiniatinklio svetainėje:

Problema scenarijus: formų autentifikavimas laikas gali baigtis prieš skirtojo laiko atributo reikšmė nustatyta naudojant konfigūracijos failą

Jei rankiniu būdu sukuriamas formų autentifikavimo bilietą, ypatybę skirtojo laiko bilieto pakeis reikšmę, nustatomas naudojant konfigūracijos failą. Todėl, jei to reikšmė yra mažesnė nei naudojant konfigūracijos failą, formų autentifikavimas bilietas baigs galioti prieš konfigūracijos failo skirtojo laiko priskirti reikšmę ir atvirkščiai. Pvz., Tarkime, kad atributą < formos >skirtasis laikas yra lygi 30 Web.config failą ir bilieto galiojimo laiko reikšmė yra nustatyta 20 minučių. Tokiu atveju formų autentifikavimas bilietas baigs galioti po 20 minučių ir vartotojas turi įeiti iš naujo po to.

Susijusios nuorodos

910439 šalinti formų autentifikavimas

891032 trikčių šalinimas ASP.NET

301240 kaip įgyvendinti formomis pagrįstas autentifikavimas ASP.net taikomojoje programoje naudojant C# .NET

308157 kaip įgyvendinti formomis pagrįstas autentifikavimas ASP.net taikomojoje programoje naudojant Visual Basic .NET

Aš tikimės, kad radote ši informacija naudinga sumažinti kai kurių painiavos, susijusios su ASP.NET formų autentifikavimo bilietą ir slapukų. Atminkite, kad palaikymo balso stulpelių už jus! Kaip visada, galite pateikti idėjų temų norite ateityje stulpelių arba "Microsoft" žinių bazėje naudojant toliau
Paprašykite jį forma.