Skip to content
Anton edited this page Jan 25, 2014 · 17 revisions

Описание

В систему изначально закладывается универсальная система авторизации, которая предусматривает подключение нескольких провайдеров для одного пользователя. Для обеспечения подобного функционала у нас существует таблица auth:

auth
----
userId      - link to users table
provider    - provider name, "equals" for login/pass
foreignKey  - foreign key, user login for login/pass; facebook id; twitter id; etc
token       - token to access, hash for login/pass
tokenSecret - secret token, salt of hash for login/pass (by default)
tokenType   - can be "request" or "access"
created
updated

Система авторизации login/password полностью есть в скелетоне, см. Application\Auth\Table.

Настройки

Пример настроек для использования авторизации через базу данных

    "auth" => array(
        "equals" => array(
            "encryptFunction" => function($password, $salt) {
                return md5(md5($password) . $salt);
            }
        )
    )

Использование

В контроллере авторизации:

// login/password
Auth\Table::getInstance()->authenticateEquals($login, $password);

Проверка на "вшивость":

if ($identity = $auth->getIdentity()) {
    // all ok
}

Clone this wiki locally