如何使用srbac进行权限操作

我已成功安装srbac也能进行登陆,path/to/application/index.php?r=srbac/authitem/frontpage。

下面这些不是很理解,自动创建需要什么命令或操作吗,还是自动生成了,为什么我看不到,二如何进生权限的分配与检查,看不到提交按钮.能不能给个小例子.

自动创建和访问检查(Autocreation and access checking)

自版本 1.02 开始,你可以为你的控制器自动创建 操作/任务。操作的命名格式是:[ModuleId_][Subdirectory.][ContollerId][Action]。例如:

posts_PostView : 模块 posts , 控制器 Post, 动作 View

posts_admin.PostDelete : 模块 posts, 子目录 admin, 控制器 Post, 动作 delete

SiteIndex : 控制器 Site , 动作 Index.

你也可以创建 2 个任务,格式是 [ControllerId]Viewing, [ControllerId]Administrating (例如PostViewing, PostAdministrating).

所有操作被分配到 administrating 任务,通过在 srbac 配置中编辑 userActions 属性,你可以选择哪些操作被分配到viewing 任务。

若你也想要 srbac 在控制器中自动检查访问权限,你的控制器应当扩展 srbac 模块中的 SBaseController 类或其子类。

SbaseController 重写 beforeAction($action) 方法并检查当前用户是否有权限访问当前的 controller/action。

要决定一个用户没有权限访问页面后的要做的事情,你可以重写 SBaseController 中的 onUnauthorizedAccess 方法。这样你可以显示一个未授权信息页面,转向到登录页面等。

自动生成还是没找到,办法。

新建角色。任务。操作。在查找前面有个图标,点那个图标可以新建。

关于为角色分配权限及其它,首先要选中左侧的用户,角色。任务然后点及那个左右添加按钮,即可加载项目。

我一点用户,加载项目,项目就会消失。原因是我的用户表是www_user好象表名中间不能带_不然会出错.

于是我去掉中间的_换成users一切正常了,不过表前缀不受影响我的表全名是johoerp_users表前缀是johoerp_

关于自动生成,是你建立一个控制器后,需要为该控制器生存一些任务(admin and view)和操作(所以的action).你只需要点击“自动建立授权项”,点击每个控制器,它会为每个控制器自动生存:任务和操作。如果这里有什么bug的话,我想可能是你的controller中含有"_"符号。在1.0和1.0之前的版本都出现这个问题(1.0后面的不清楚),你需要去更改的他的源码(如果是这个问题引起的,你可以查看srbac extension的topic,里面会有涉及到如何更改这一问题产生的错误)

谢谢看了一下就是你说的问题表前有_没有那个就正常了