zhong21jia 2012-02-13 23:47:17 3985次浏览 6条回复 0 0 0

Yii::app()->user->id 啥时候编程显示用户名啦?是我记错了?

今天很纠结! 数据库一直不能存储用户的id!

$moder->user_id = Yii::app()->user->id;

  • 回复于 2012-02-14 00:09 举报

    找到问题之所在了!
    是使用了user模块后,yii::app()->user->id才会显示是id,而不是名字!
    无语!

  • 回复于 2012-02-16 13:47 举报

    Yii::app()->user 调用的不是user模块吧。
    应该是你在main.php的组件中怎么配置的。一般默认调用的是 CWebUser。
    也要对应看你怎么处理的 CUserIdentity。

  • 回复于 2012-02-17 09:56 举报

    大牛啊。那请问怎么弄?

  • 回复于 2012-02-20 13:43 举报

    文档中, CWebUser 类的说明很明确呀!
    CWebUser 代表一个Web应用程序的持久状态.
    CWebUser 作为ID为user的一个应用程序组件. 因此, 在任何地方都能访问用户状态 Yii::app()->user.
    CWebUser 应该和一个 identity 一起使用 identity 实现了实际的验证算法.
    一个典型的使用CWebUser的身份验证过程如下:
    用户提供所需的信息进行身份验证.
    一个 identity instance 是用用户提供 的信息创建的.
    调用 IUserIdentity::authenticate 来检查identity是否有效.
    如果有效, 调用 CWebUser::login 登陆用户, 然后用户浏览器重定向到 returnUrl.
    如果无效, 从identity instance中检索错误代码或错误信息然后显示

  • 回复于 2012-02-20 13:45 举报

    CUserIdentity 类默认是关联user表中的id和name的。
    但是 你可以给这个类写个子类,覆盖其 authenticate 方法,替换默认的id和name属性。
    具体实现,我想不需要贴代码吧~

  • 回复于 2012-02-20 15:21 举报

    以解决! 谢谢!thanks

您需要登录后才可以回复。登录 | 立即注册