我想让用户 登录 用cookie ,管理员用session
allowAutoLogin 对这个值 我在用户登录 的BaseController 里 设为 true,
在管理员Controller里设为false,但现在发现 用户登录 了也可以访问管理的后台。。
两个用户确认用的是不同的表。。
同时,我想在注销的时候,各自注销各自的。。
相互不影响 。。。
因为是虚拟主机,不考虑多个APP。。
请问怎么解决?
3Q
我想让用户 登录 用cookie ,管理员用session
allowAutoLogin 对这个值 我在用户登录 的BaseController 里 设为 true,
在管理员Controller里设为false,但现在发现 用户登录 了也可以访问管理的后台。。
两个用户确认用的是不同的表。。
同时,我想在注销的时候,各自注销各自的。。
相互不影响 。。。
因为是虚拟主机,不考虑多个APP。。
请问怎么解决?
3Q
Qiang
能帮看看吗?
你这样是不行的,因为allowAutoLogin只在用户登录前起作用。
一个建议是扩展CWebUser,添加一个新的属性,用来标识该user是否admin。这个属性只在用户登录后设置,不保存在cookie里。如果用户需要访问后台并且该属性为false,那么应该提示他重新登陆。
扩展CWebUser吧,我就是这么做的RBAC
能分享一下吗?
能分享一下吗?
3Q 两位,我试试Qiang的方法。。。。
CWebUser 我用 SESSION登录 ,怎么看不到SESSION值呢?怪了。。
在源码里也没有对SESSION判断。。。。。
是不是我看错了?
还有哪个函数是判断用户有没有登录 的呢?
谢谢
class UserIdentity extends CUserIdentity
里面怎么样才能做成 区分COOKIE SESSION呢,就是分清是会员还是管理员呢 ?
请问在哪个函数判断呢?
顶起
终于搞定鸟。。
问下qiang,
在1.0版本里面会放入以后的1.1 RBAC界面吗?
能完整分享一下你是怎么解决这个问题的么?
1.0不会放入1.1的东西,因为这关系到版本稳定性的问题。
非常感谢回复。。。
原来 的module 下的admin ,我全继承 了 Controller 而不是CController
所以我开始时用了你的方法没成功,后来想到 SiteController应该继承 Controller
而登录 default/login 应该是 CController
$this->setState(‘is_admin’, ‘admin’);
我加了一个这个,然后对这个值判断的,不知道这样安全不安全。。。
user是个函数。。
能得到is_admin的值 的。。
if(user(‘is_admin’)!=‘admin’)
{
die('没登录哦');
}
顺便问下 1.1是在10.1 发布吗?
第一版本有RBAC界面吗》
很期待。。。
地址更改,RBAC完整好的时候,到这里说一下。。嘿嘿。。