объбд | упдетцбойе | чретед

11 Хуфбопчмеойе рпдмйоопуфй дпуфхрб (Access Authentication).

HTTP пвеуреюйчбеф дмс хуфбопчмеойс рпдмйоопуфй ртпуфпк неибойън чщъпч-пфчеф (challenge-response), лпфптщк НПЦЕФ йурпмшъпчбфшус уетчетпн дмс чщъпчб (challenge) лмйеофулпзп ъбртпуб, б лмйеофпн дмс ртедпуфбчмеойс прпъобчбфемшопк йожптнбгйй (authentication information). По йурпмшъхеф тбуыйтсенха, ое юхчуфчйфемшоха л тезйуфтх мелуенх йдеофйжйлбгйй уиенщ хуфбопчмеойс рпдмйоопуфй (authentication scheme) й пфдемеоощк ъбрсфпк урйупл рбт бфтйвхф-ъобюеойе (attribute-value), лпфптще ртедуфбчмсаф рбтбнефтщ, оепвипдйнще дмс хуфбопчмеойс рпдмйоопуфй у йурпмшъпчбойен ьфпк уиенщ.

          auth-scheme    = token

          auth-param     = token "=" quoted-string

Уппвэеойе пфчефб у лпдпн 401 (Оеуболгйпойтпчбо, Unauthorized) йурпмшъхефус ретчпобюбмшощн уетчетпн дмс чщъпчб (challenge) хуфбопчмеойс рпдмйоопуфй (authorization) бзеофпн рпмшъпчбфемс. Ьфпф пфчеф ДПМЦЕО упдетцбфш рпме ъбзпмпчлб WWW-Authenticate, члмаюбаэее рп лтбкоек нете пдйо чщъпч (challenge), ртйнеойнщк л ъбртпыеоопнх теухтух.

          challenge      = auth-scheme 1*SP realm *( "," auth-param )

          realm          = "realm" "=" realm-value
          realm-value    = quoted-string

Бфтйвхф пвмбуфй (realm) (ое юхчуфчйфемшощк л тезйуфтх) фтевхефус дмс чуеи уиен хуфбопчмеойс рпдмйоопуфй, лпфптще чщдбаф чщъпч (challenge). Ъобюеойе бффтйвхфб realm (юхчуфчйфемшопе л тезйуфтх), ч лпнвйобгйй у лбопойюеулйн лптоечщн URL (унпфтефш тбъдем 5.1.2) уетчетб, л лпфптпнх пвтбэео ъбртпу, пртедемсеф пвмбуфш ъбэйфщ (protection space). Ьфй пвмбуфй рпъчпмсаф тбъвйчбфш ъбэйэеооще теухтущ уетчетб об нопцеуфчп пвмбуфек, лбцдбс йъ лпфптщи йнееф упвуфчеооха прпъобчбфемшоха уиенх й/ймй вбъх дбоощи хуфбопчмеойс рпдмйоопуфй (authorization database). Ъобюеойе realm - уфтплб, чппвэе зпчптс объобюеообс ретчпобюбмшощн уетчетпн, лпфптбс нпцеф йнефш дпрпмойфемшоха уенбофйлх, урегйжйюеулха дмс уиенщ хуфбопчмеойс рпдмйоопуфй (authentication scheme).

Бзеоф рпмшъпчбфемс, лпфптщк ипюеф дплбъбфш учпа рпдмйоопуфш уетчетх, пвщюоп, оп ое пвсъбфемшоп, НПЦЕФ ьфп удембфш рпуме рпмхюеойс пфчефб у лпдпн упуфпсойс 401 ймй 411, члмаюйч рпме ъбзпмпчлб Authorization ч ъбртпу. Ъобюеойе рпмс Authorization упуфпйф йъ телпнеодбгйк (credentials), упдетцбэйи йожптнбгйа хуфбопчмеойс рпдмйоопуфй (authentication information) бзеофб рпмшъпчбфемс дмс пвмбуфй (realm) ъбртпыеоопзп теухтуб.

          credentials    = basic-credentials
                         | auth-scheme #auth-param

Пвмбуфш (domain), обд лпфптпк телпнеодбгйй (credentials) нпзхф бчфпнбфйюеулй ртйнеосфшус бзеофпн рпмшъпчбфемс, пртедемеоб пвмбуфша ъбэйфщ (protection space). Еумй рпдмйоопуфш вщмб хуфбопчмеоб ртедыеуфчхаэйн ъбртпупн, фп ьфй це телпнеодбгйй (credentials) НПЗХФ йурпмшъпчбфшус нопзплтбфоп чп чуеи дтхзйи ъбртпуби чохфтй ьфпк пвмбуфй ъбэйфщ (protection space) ч феюеойй чтенеой, пртедемеоопзп уиенпк хуфбопчмеойс рпдмйоопуфй, рбтбнефтбнй, й/ймй хуфбопчлбнй рпмшъпчбфемс. Еумй уиенпк хуфбопчмеойс рпдмйоопуфй ое пртедемеоп йопзп, фп пдйопюобс пвмбуфш ъбэйфщ (protection space) ое нпцеф ртпуфйтбфшус ыйте пвмбуфй уетчетб (the scope of its server).

Еумй уетчет ое цембеф ртйойнбфш телпнеодбгйй (credentials), рпумбооще ч ъбртпуе, фп енх УМЕДХЕФ чпъчтбфйфш пфчеф у лпдпн 401 (Оеуболгйпойтпчбо, Unauthorized). Пфчеф ДПМЦЕО члмаюбфш рпме ъбзпмпчлб WWW-Authenticate, упдетцбэее (чпънпцоп опчщк) чщъпч (challenge), ртйнеойнщк л ъбртпыеоопнх теухтух, й пв®елф, пв®суосаэйк пфлбъ.

Ртпфплпм HTTP ое пзтбойюйчбеф ртймпцеойс йурпмшъпчбойен ьфпзп ртпуфпзп неибойънб чщъпч-пфчеф (challenge-response) дмс хуфбопчмеойс рпдмйоопуфй дпуфхрб. НПЦОП йурпмшъпчбфш дпрпмойфемшоще неибойънщ, фблйе лбл ыйжтпчбойе об фтбоурптфопн хтпчое ймй жптнйтпчбойе рблефб уппвэеойс (message encapsulation) у дпрпмойфемшощнй рпмснй ъбзпмпчлб, пртедемсаэйнй йожптнбгйа хуфбопчмеойс рпдмйоопуфй. Пдоблп ьфй дпрпмойфемшоще неибойънщ ое пртедемеощ ч ьфпк урегйжйлбгйй.

Ртплуй-уетчетб ДПМЦОЩ вщфш рпмопуфша ртпътбюощ дмс хуфбопчмеойс рпдмйоопуфй бзеофб рпмшъпчбфемс. Фп еуфш пой ДПМЦОЩ ретеущмбфш ъбзпмпчлй WWW-Authenticate й Authorization оефтпохфщнй й умедпчбфш ртбчймбн тбъдемб 14.8.

HTTP/1.1 рпъчпмсеф лмйеофх ретедбчбфш йожптнбгйа хуфбопчмеойс рпдмйоопуфй дмс й пф ртплуй-уетчетб рпутедуфчпн ъбзпмпчлпч Proxy-Authenticate й Proxy-Authorization.

11.1 Вбъпчбс уиенб хуфбопчмеойс рпдмйоопуфй (Basic Authentication Scheme).

"Вбъпчбс" уиенб хуфбопчмеойс рпдмйоопуфй пуопчбоб об фпн, юфп бзеоф рпмшъпчбфемс дпмцео дплбъщчбфш учпа рпдмйоопуфш ртй рпнпэй йдеофйжйлбфптб рпмшъпчбфемс (user-ID) й рбтпмс (password) дмс лбцдпк пвмбуфй (realm). Ъобюеойа пвмбуфй (realm) умедхеф вщфш оертпътбюопк (opaque) уфтплпк, лпфптха нпцоп ртпчетсфш фпмшлп об тбчеоуфчп у дтхзйнй пвмбуфснй об ьфпн уетчете. Уетчет пвумхцйф ъбртпу, фпмшлп еумй по нпцеф ртпчетйфш ртбчймшопуфш йдеофйжйлбфптб рпмшъпчбфемс (user-ID) й рбтпмс (password) дмс ъбэйэеоопк пвмбуфй (protection space) ъбртпыеоопзп URI (Request-URI). Ойлблйи пргйпобмшощи прпъобчбфемшощи рбтбнефтпч оеф.

Рпуме рпмхюеойс ъбртпуб об URI, обипдсэйкус ч ъбэйэбенпк пвмбуфй (protection space), уетчет НПЦЕФ пфчефйфш чщъпчпн (challenge), рпдпвощн умедхаэенх:

          WWW-Authenticate: Basic realm="WallyWorld"
зде "WallyWorld" - уфтплб, объобюеообс уетчетпн, лпфптбс йдеофйжйгйтхеф пвмбуфш ъбэйфщ ъбртбыйчбенпзп URI (Request-URI).

Юфпвщ рпмхюйфш ртбчб дпуфхрб, лмйеоф рпущмбеф йдеофйжйлбфпт рпмшъпчбфемс (userid) й рбтпмш (password), тбъдемеооще пдойн уйнчпмпн дчпефпюйс (":"), чохфтй base64-лпдйтпчбоопк уфтплй телпнеодбгйк (credentials).

          basic-credentials = "Basic" SP basic-cookie

          basic-cookie   = <base64-лпдйтпчбоощк [7] user-pass,
                           ъб йулмаюеойен ое пзтбойюеоощи 76
                           уйнчпмбнй ч уфтпле>

          user-pass   = userid ":" password

          userid      = *<TEXT ое упдетцбэйк ":">

          password    = *TEXT

Userid нпцеф вщфш юхчуфчйфемео л тезйуфтх.

Еумй бзеоф рпмшъпчбфемс ипюеф рпумбфш йдеофйжйлбфпт рпмшъпчбфемс (userid) "Aladdin", й рбтпмш (password) "open sesame", по вхдеф йурпмшъпчбфш умедхаэее рпме ъбзпмпчлб:

          Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==

Упзмбыеойс п ъбэйфе, учсъбооще у вбъпчпк уиенпк хуфбопчмеойс рпдмйоопуфй, унпфтйфе ч тбъдеме 15.

11.2 Пвъптобс уиенб хуфбопчмеойс рпдмйоопуфй (Digest Authentication Scheme).

Пвъптопе хуфбопчмеойе рпдмйоопуфй дмс HTTP пртедемсефус ч RFC 2069 [32].


Copyright  ©  1998 Alex Simonoff (http://www.omsk.com/Leshik/), All Rights Reserved.


объбд | упдетцбойе | чретед