用户 管理员登录 疑问?

我想让用户 登录 用cookie ,管理员用session

allowAutoLogin 对这个值 我在用户登录 的BaseController 里 设为 true,

在管理员Controller里设为false,但现在发现 用户登录 了也可以访问管理的后台。。

两个用户确认用的是不同的表。。

同时,我想在注销的时候,各自注销各自的。。

相互不影响 。。。

因为是虚拟主机,不考虑多个APP。。

请问怎么解决?

:mellow:

3Q

Qiang

能帮看看吗? :mellow:

你这样是不行的,因为allowAutoLogin只在用户登录前起作用。

一个建议是扩展CWebUser,添加一个新的属性,用来标识该user是否admin。这个属性只在用户登录后设置,不保存在cookie里。如果用户需要访问后台并且该属性为false,那么应该提示他重新登陆。

扩展CWebUser吧,我就是这么做的RBAC

能分享一下吗?

能分享一下吗?

3Q 两位,我试试Qiang的方法。。。。 :lol:

CWebUser 我用 SESSION登录 ,怎么看不到SESSION值呢?怪了。。

在源码里也没有对SESSION判断。。。。。

是不是我看错了? :o

还有哪个函数是判断用户有没有登录 的呢?

谢谢

class UserIdentity extends CUserIdentity

里面怎么样才能做成 区分COOKIE SESSION呢,就是分清是会员还是管理员呢 ? :o

8)

请问在哪个函数判断呢?

:o

顶起 :D

终于搞定鸟。。

问下qiang,

在1.0版本里面会放入以后的1.1 RBAC界面吗? :lol:

能完整分享一下你是怎么解决这个问题的么?

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界面吗》

很期待。。。 :rolleyes:

http://yiiprojects.googlecode.com/svn/1.0

svn下载。。。。

分开前后台。。

准备用于项目的。。

地址更改,RBAC完整好的时候,到这里说一下。。嘿嘿。。 :D