Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Для профи > Отдельная авторизация пользователей


Автор: Elfet 25.3.2007, 16:08
Как сделать так что бы авторизация была выделена в отдельном модуле, а этот модуль мог использовать какой угодно способ авторизации.  smile 

Автор: mclight 26.3.2007, 07:38
хммм.....в смысле?

Автор: -=Ustas=- 26.3.2007, 07:45
Цитата(Elfet @  25.3.2007,  16:08 Найти цитируемый пост)
Как сделать так что бы авторизация была выделена в отдельном модуле, а этот модуль мог использовать какой угодно способ авторизации.

Ну тут могу посоветовать инкапсулировать всю процедуру авторизации в класс и всё. Вызывать для авторизации что-то типа
Код

$user->authorize( $_POST );

Ты это имел ввиду?

Автор: Platon 26.3.2007, 12:09
а чем тебя PEAR::Auth не устраивает?

Автор: Elfet 27.3.2007, 18:32
PEAR::Auth а что это такое? smile

Автор: Golda 28.3.2007, 01:42
см. http://pear.php.net/package/Auth , http://pear.php.net/package/Auth_HTTP,
http://pear.php.net/search.php?q=Auth&in=packages&x=0&y=0

Автор: Platon 28.3.2007, 07:08
Да, именно оно, только что бы запоминалась авторизация, пришлось надстройку делать smile
А в конце концов, я от этого отказался, сделал свою мини аутентификационную систему, не жалуюсь smile

Автор: Golda 28.3.2007, 11:41
По-моему, в этом и состоял вопрос автора. Задача - при разработке не зависеть от реализации аутентификации. С PEAR::Auth дописываешь какой хочешь storage driver и меняешь только код инициализацию объекта. 

В общем случае, думаю, есть 2 варианта. 
  • Пишем (вариант, используем стороннюю библиотеку) класс, который будет инкапсулировать аутентификацию, фиксируем интерфейс сигнатурой методов. А реализацию вольны менять как хотим. Балансируя параметры: время разработки, общность, гибкость, можно
     
    • переписывать методы существующейго класса (ну, это уже крайний случай, если совсем нет времени  smile )
       
    • наследовать от него новый класс
       
    • написать драйвер (для архитектуры типа PEAR::Auth)
     
  •  Если не нравится объектно-ориентированный подход или совсем плохо со временем, можно инклюдить отдельный файл, который будет заниматься аутентификацией и редиректить/инклюдить нужный файл после этого. Сам файл аутентификации меняем сколько угодно, не меняя (в идеале  smile ) остальной проект

Естественно, первый вариант предпочтительнее

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)