ПредишенСледващото

След като сте създали своя WebDAV сървър, вероятно искате да го правят безопасно. WebDAV удостоверяване се извършва с използване на основа или daydzhest- HTTP-удостоверяване (RFC2617). Въпреки че е лесно да се приложи самостоятелно, SabreDAV предоставя някои инструменти, които могат да улеснят работата ви.

SabreDAV идва с приставка, която извършва удостоверяване за вас. Тя включва две гръб. Един за потребителски влизания във файл, а от друга - да ги съхранявате на SQLite или MySQL. И двата използва HTTP-базирана дайджест. Ако искате да използвате основния удостоверяване, трябва да създадете свой собствен клас бекенда на, изпълнява Сабер \ DAV \ упълномощаване \ бекенда \ BackendInterface.

Използването на задния ЗНП

ЗНП задния може да използва само MySQL или SQLite база данни. Примери за създаване на таблици, можете да намерите в изходния код в указателя за примери / SQL:

След инстанциира Сабер \ DAV \ Server. включително тези, обсъдени плъгин със следния код:

TABLE SQL

Надписите примерите за SQL автоматично ще създаде потребител с администратора на потребителско име и парола на администратор. Променете това!

Можете да обърка поле digesta1. Тя съхранява хеша на паролата. Този хеш се изчислява както следва:

С потребителското име и паролата, всичко е ясно, но отделно от тях ще трябва да се съхраняват някъде сфера. Това е същата сфера. който сте посочили по-рано, когато създавате Сабер \ DAV \ упълномощаване \ Plug-in.

Ако искате да промените областта на плъгина, всички съществуващи пароли стават невалидни, тъй като те се променят хешовете.

Използването гръб на файла

Бекенда Сабер \ DAV \ упълномощаване \ бекенда \ File използва прост файл за имена и пароли на магазините на потребителите. Форматът е идентични htdigest файлове, използвани от Apache.

Ако сте инсталирали Apache, а след това най-вероятно, че имате инструмент, за да създавате и променяте тези файлове. Можете да проверите това, като напишете в htdigest на команден ред.

Но дори и ако htdigest не сте инсталирали, ще разберете този формат без затруднения. Потребителите, съхранявани в него един на ред (разделен \ п). Всеки ред има следния вид:

Вход не се нуждае от обяснение. Параметър сфера трябва да бъде същата като на втория аргумент на конструктора Сабер \ DAV \ упълномощаване \ Plug-in. и смилане а1 - хеш, същите, както в PDO-приставката:

Създаване на собствен гръб удостоверяване

Ако желаете да добавите смилане удостоверяване, използвайте Сабер \ DAV \ упълномощаване \ бекенда \ AbstractDigest като клас родител, и класове Сабер \ DAV \ упълномощаване \ бекенда \ File и Сабер \ DAV \ упълномощаване \ бекенда \ ЗНП като примери.

Ако ще да изпълни основната удостоверяване HTTP-базирана използване Сабер \ DAV \ упълномощаване \ бекенда \ AbstractBasic като клас родител и прилага методи validateUserPass.

За повече информация относно класа Saber на \ HTTP_ * може да се намери в RawAuthentication статия. В него са старите насоки за изпълнение на удостоверяване.

Конфигуриране на уеб сървър

Повечето уеб сървъри директно "извън кутията" позволяват да се получи удар с глава на удостоверяване, но в някои от тях, това трябва да бъде изрично включени в цената.

Скоро + (бързо) CGI

Ако използвате PHP като CGI или FastCGI, тогава Apache не минава заглавието на удостоверяване по подразбиране. Можете да ги включите, като използвате следната правила mod_rewrite:

Ако вече имате правилото за mod_rewrite, която предава цялата URL адреса на някой от файловете на сървъра, трябва да го промените на следния модел:

Обърнете внимание на /server.php. Вместо това за вас, разбира се, трябва да се уточни съответния файл.

IIS не поддържа HTTP_AUTHORIZATION автоматично. Можете да го включите, като следвате ръководството за PHP. Ето един цитат от това ръководство:

Също така имайте предвид, че поради ограниченията на Microsoft IIS, започвайки от PHP 4.3.3, HTTP удостоверяване не работи с този сървър при PHP е инсталиран като CGI. За да я накара да работи с PHP 4.3.3+, редактирате конфигурация «Директория за сигурност» в IIS. Кликнете «Редактиране» и махнете всички области, с изключение на тази конфигурация «Anonymous Access».

Проблемът с безопасен режим

Ако активирате "безопасен режим», PHP удостоверяване автоматично ще добави идентификатора на процеса в полето сфера. Това е проблем, за удостоверяване резюме, което използва за да се определи сферата хеша.

За да разрешите този проблем, изключете безопасен режим, или да използвате основна идентификация вместо Digest.

За повече информация вижте ръководството на PHP.

Удостоверяване чрез уеб сървър

Удостоверяване може да бъде направено от уеб сървъра. Това може да бъде полезно, ако искате да използвате напреднали методи за идентификация, предоставени от модулите Apache (включително LDAP, Kerberos и SASL).

За това е гръб Сабер \ DAV \ упълномощаване \ бекенда \ Apache. За да го използвате, добавете приставката, както следва:

Свързани статии

Подкрепете проекта - споделете линка, благодаря!