Yii->user(当前用户)相关

作者:zccst

常用的用法是

class Controller extends CController
{
public $user = null;
$this->user = Yii:app()->user;
}

this->user->isGuest;
this->user->id;
this->user->name;

还有设置session
this->user->setStatus('xx');
this->user->getStatus('xx');

查看一下手册后,发现user的属性和方法还真多。

详细如下:
CWebUser represents the persistent state for a Web application user.

CWebUser is used as an application component whose ID is 'user'. Therefore, at any place one can access the user state via

Yii::app()->user.

CWebUser should be used together with an identity which implements the actual authentication algorithm.

A typical authentication process using CWebUser is as follows:
1.The user provides information needed for authentication.
2.An identity instance is created with the user-provided information.
3.Call IUserIdentity::authenticate to check if the identity is valid.
4.If valid, call CWebUser::login to login the user, and Redirect the user browser to returnUrl.
5.If not valid, retrieve the error code or message from the identity instance and display it.


The property id and name are both identifiers for the user. The former is mainly used internally (e.g. primary key), while the

latter is for display purpose (e.g. username). The id property is a unique identifier for a user that is persistent during the

whole user session. It can be a username, or something else, depending on the implementation of the identity class.

Both id and name are persistent during the user session. Besides, an identity may have additional persistent data which can be

accessed by calling getState. Note, when cookie-based authentication is enabled, all these persistent data will be stored in

cookie. Therefore, do not store password or other sensitive data in the persistent storage. Instead, you should store them

directly in session on the server side if needed.


1,属性
allowAutoLogin boolean whether to enable cookie-based login. CWebUser
authTimeout integer timeout in seconds after which user is logged out if inactive. CWebUser
autoRenewCookie boolean whether to automatically renew the identity cookie each time a page is requested. CWebUser
autoUpdateFlash boolean whether to automatically update the validity of flash messages. CWebUser
behaviors array the behaviors that should be attached to this component. CApplicationComponent
flashes array Returns all flash messages. CWebUser
guestName string the name for a guest user. CWebUser
id mixed the unique identifier for the user. CWebUser
identityCookie array the property values (in name-value pairs) used to initialize the identity cookie. CWebUser
isGuest boolean whether the current application user is a guest. CWebUser
isInitialized boolean Checks if this application component bas been initialized. CApplicationComponent
loginUrl string|array the URL for login. CWebUser
name string Returns the unique identifier for the user (e.g. username). CWebUser
returnUrl string Returns the URL that the user should be redirected to after successful login. CWebUser
stateKeyPrefix string a prefix for the name of the session variables storing user session data. CWebUser


2,方法
最基本的方法
除了call, get, isset, set, unset方法之外,还有
getIsInitialized() Checks if this application component bas been initialized. //一般不需要检查
checkAccess() Performs access check for this user. //检查用户可以访问的操作
方法原型:public boolean checkAccess(string $operation, array $params=array ( ), boolean $allowCaching=true)


基本方法
getId() Returns the unique identifier for the user. If null, it means the user is a guest.
setId() Sets the unique identifier for the user. If null, it means the user is a guest.
getName() Returns the unique identifier for the user (e.g. username).
setName() Sets the unique identifier for the user (e.g. username).
setReturnUrl() Sets the URL that the user should be redirected to after login.
getReturnUrl() Returns the URL that the user should be redirected to after successful login.
canGetProperty() Determines whether a property can be read.
canSetProperty() Determines whether a property can be set.


登陆相关
login() Logs in a user. CWebUser
loginRequired() Redirects the user browser to the login page.//该方法非常好用
logout()
getIsGuest()


增加行为相关
attachBehavior() Attaches a behavior to this component. CComponent
attachBehaviors() Attaches a list of behaviors to the component.
detachBehavior() Detaches a behavior from the component. CComponent
detachBehaviors() Detaches all behaviors from the component. CComponent
disableBehavior() Disables an attached behavior. CComponent
disableBehaviors() Disables all behaviors attached to this component. CComponent
enableBehavior() Enables an attached behavior. CComponent
enableBehaviors() Enables all behaviors attached to this component.


session相关
setState() Stores a variable in user session. // 是基于cookie-based authentication,所以不应存一些如密码等敏感信息
getState() Returns the value of a variable that is stored in user session.
hasState() Returns a value indicating whether there is a state of the specified name.
clearStates() Clears all user identity information from persistent storage.
setStateKeyPrefix() Sets a prefix for the name of the session variables storing user session data.
getStateKeyPrefix() Returns a prefix for the name of the session variables storing user session data.


flash相关
hasFlash() Determines whether the specified flash message exists
getFlash() Returns a flash message.
setFlash() Stores a flash message.
getFlashes() Returns all flash messages.


事件相关
raiseEvent() Raises an event.
hasEvent() Determines whether an event is defined.
hasEventHandler() Checks whether the named event has attached handlers.
getEventHandlers() Returns the list of attached event handlers for an event.
attachEventHandler() Attaches an event handler to an event.
detachEventHandler() Detaches an existing event handler.


如果您觉得本文的内容对您的学习有所帮助,您可以微信:
[img]http://dl2.iteye.com/upload/attachment/0109/0668/fb266dfa-95ca-3d09-b41e-5f04a19ba9a1.png[/img]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值