权限授予与认证

YY框架中对认证和权限的操作封装在Auth类中。我们引入用户和组的概念来管理系统用户。

Auth类的操作方法:

权限声明:

im_admin

Auth::im_admin(mixed $adminlevel) 
管理员声明

Parameters:  
mixed $adminlevel 可以不填,管理员级别(string|array)

声明当前登录用户是管理员,可以调用Auth::im_admin()。

如果管理员分为多种类型可以调用Auth::im_admin('home'),Auth::im_admin('office')。由传入的即可区分声明是家庭管理员还是办公管理员。

同一个登录用户可以兼具不同组的管理权限,所以如果同时调用Auth::im_admin('home')和Auth::im_admin('office'),则当前用户既是家庭管理员又是办公管理员。

你也可以采取传入数组的形式,这样更加简单:Auth::im_admin(array('home','office'))。

im_user

Auth::im_user($userlevel, string $userkey) 
用户声明

Parameters: 
mixed $userlevel用户级别(string|array)  
string $userkey 群组标识

im_admin用法相同,此方法用来声明当前用户的权限级别。

其中$userkey是群组标识,用来传入用户所属的群组,$userlevel用来标识用户所在组内的级别。

注意: im_admin只是im_user的一种特殊形式,即所属组为管理员组im_user也可以不传任何参数直接调用,用来声明当前用户为普通用户:Auth::im_user()。

权限判断:

is_admin

Auth::is_admin(mixed $adminlevel) 
判断用户是否是管理员

Parameters:

mixed $adminlevel 管理员级别(string|array)
Returns:
  boolean

如:该用户曾经声明Auth::im_admin('home'),则Auth::is_admin('home')返回true,这里要注意的是Auth::is_admin()同样返回true

is_user

Auth::is_user(mixed $userlevel, string $userkey) 
判断用户是否登录

Parameters:  
mixed $userlevel 用户级别(string|array)  
string $userkey 用户群组
Returns:
  boolean 

如:该用户曾经声明Auth::im_user('1'),则Auth::is_user('1')返回true,这里要注意的是Auth::is_user()同样返回true

权限注销:

权限的注销和权限声明在调用方法以及传入参数上一致的。

im_notadmin

Auth::im_notadmin(mixed $adminlevel) 
管理员注销声明

Parameters: 
mixed $adminlevel 可以不填,管理员级别组(string|array)

im_notuser

Auth::im_notuser($userlevel, string $userkey) 
用户注销声明

Parameters: 
mixed $userlevel 用户级别(string|array)  
string $userkey 用户群组