2

只是想确认Nitrogen 身份验证和授权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(User) 设置为成功通过身份验证的用户?然后我可以做一些事情,比如检查undefined = wf:user()用户是否已经通过身份验证来保护受限页面?同样,我会为用户设置角色等,然后​​我也可以对角色执行验证?Nitrogen 在后台以某种方式将这些信息存储在我的会话中?

4

1 回答 1

0

你是对的。Nitrogen 会话只是一个存储会话信息的 erlang 进程。用法和你描述的一样。可以查询用户是否登录,也可以设置和查询用户的角色。任何更复杂的事情你都必须自己做。

于 2009-12-28T05:22:59.147 回答