怎么区分普通用户和管理员身份?

登录的时候,怎么区分登录者是普通用户还是管理员?

策略问题

一般前后台分开的 前台登陆 即使是admin 也不标注出来

后台登陆的都是管理员 不过有不同角色

你问的可能是 前台登陆 也要区分是否为管理员 这个在登陆时 查下后台的管理员表 是否在其中 如果在 那么在用户的session中 存一个标志字段即可 Yii::app()->user->setState(‘role’,‘admin’);

不过如果前台也要区分是否是管理员 这样的设计感觉很乱(我是说在sns类型网站中 cms类型到还好)

比如sns类型中 用户的增删改查 有一个权限检测问题:只有自己才能操纵所属于自己的资源(图片 blog comment album 等…)如果你在混入一个管理员 那么设计出来就麻烦些 在跟踪操做时 你还要判断当前用户(Yii::app()->user 是管理员 还是member)

由于 user组件是系统组件 可以扩展一个自己的 然后替换掉原始默认的CWebUser 添加类似getIsAdmin() 方法即可

我能不能自己定义一个,比如:AdminIdentity.php,来验证管理员。怎么实现,会员登录的时候访问UserIdentity类,管理员登录的时候访问AdminIdentity类?

可以

首先必须有个 类似单选按钮的东西 会员还是admin登陆 php端根据选择来决定用哪个类

请参看 这里 看不懂 没关系 代码总能明白吧

明白了,谢谢 :lol: