[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Грамотная аутентификация/авторизация
dearfriend
Доброго всем дня!

Полагаю, что написано достаточно классов аутентификации-авторизации, но,тем не менее,хотелось бы задать вопрос: что должны содержать такие классы? Интересует, в первую очередь, безопасность и функционал, разумеется.

Спасибо!
dearfriend
Ладно, расписывать всем, конечно, лень.
В интернетах нашел класс

class UserAuth {
var $_db=null;
var $userid=null;
var $username=null;
var $usercookie=null;
var $sessioncookie=null;
var $session_id=null;


function UserAuth(&$db) {
//инстанс бд
}
function Login($user,$pass){
//берем из базы информацию про юзера, стартуем сессию (initSession())
//обновляем в таблице с сессиями в базе информацию (последняя активность, ип и прочее)

}
function Logout(){
//проверяем наличие сессии в базе, если есть - удаляем запись
}
function generateId() {
//тут понятно
}
function initSession() {
//обновляем информацию о сессии в таблице, если ее нет - записываем
}
function Check_Auth(){
//проверка куков и айпи: если они совпадают с записанными в таблице с сесиями - заполняем все поля объекта из кук, потом проверяется какая-то константа, которую нигде по документу не нашел, и, в любом случае, обновляется таблица с сессиями
}

}



можете прокомментировать?
спасибо
ilyaplot
Класс пишется под определенные задачи. Я вижу пустой класс, в нем список переменных. Что еще я должен сказать?

_____________
Заработай на Userator
dearfriend
Цитата
Что еще я должен сказать?

Хоть что-нибудь по теме.

Изначально:
Цитата
вопрос: что должны содержать такие классы?

kaww
Т.к. класс авторизации, то должен содержать публичные методы auth::login(),auth::logout() и auth::getUser(), еще удобно auth::hasUser(). И еще логично, что он должен быть singleton'ом, т.к. авторизация может быть только одна
Michael
Вообще то авторизация - это определение прав.

Класс аутентификации должен содержать метод, который приняв введенные данные аутентификации, сможет определить что это за пользователь в системе.

Класс авторизации, если это специальный отдельный функционал, может содержать проверки на доступ некоторого пользователя к выполнению действий на сайте, плюс управлять, если надо, самой системой прав.

_____________
There never was a struggle in the soul of a good man that was not hard
Guest
kaww, Michael, спасибо за ответ. Можно поподробней про методы - что каждый из них должен брать на себя.
так же интересует работа с сессиями в ооп.
johniek_comp
Цитата
так же интересует работа с сессиями в ооп.

лол

_____________
user posted image
Игорь_Vasinsky
biggrin.gif
сессии - они и в при ооп сессии

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.