Как правильно использовать API аутентификации Азота?

StackOverflow https://stackoverflow.com/questions/1967983

Вопрос

Просто желая подтвердить использование Азотная аутентификация и авторизация API.Описание API таково:

wf:user() -> User or 'undefined'
Return the user value that was previously set by wf:user(User)

wf:user(User) -> ok
Set the user for the current session.

wf:clear_user() -> ok
Same as wf:user(undefined).

wf:role(Role) -> 'true' or 'false'
Check if the current user has a specified role.

wf:role(Role, IsInRole) -> ok
Set whether the current user is in a specified role.

wf:clear_roles() -> ok
Remove the user from all roles.

Чтобы использовать этот API, я бы сначала проверил логин пользователя в своей базе данных, в которой хранятся учетные данные, затем установил wf: user (Пользователь) для успешно прошедшего проверку подлинности пользователя?Тогда я могу делать такие вещи, как проверить, есть ли undefined = wf:user() чтобы сообщить, прошел ли пользователь аутентификацию для защиты ограниченных страниц?Аналогично, я бы установил роли для пользователя и т.д., Тогда я мог бы выполнить проверку и для этой роли?И Азот каким-то образом хранит эту информацию в сеансе для меня в фоновом режиме?

Это было полезно?

Решение

вы правы.Сеансы Nitrogen - это всего лишь процесс erlang, хранящий информацию о сеансе.Использование именно такое, как вы описали.Вы можете запросить, вошел ли пользователь в систему или нет, а также задать роли, которые у него есть, и запросить их.Все более изощренное вам придется сделать самому.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top