JUser对象和用户权限判断 【转】

本文介绍Joomla中如何使用JUser对象来获取用户信息,并详细解释了如何利用此对象的属性和成员函数进行用户身份验证及权限管理。

 

每一个访问Joomla网站的用户都对应这一个JUser对象,通过$user =& JFactory::getUser() 就可以获得这个对象引用并访问对象的成员函数和属性。

下面的代码就是显示用户的名称,邮件的一段代码:

 

 

我们来看看JUser的属性和成员函数:

id - 用户唯一编号 
name - 姓名
username - 帐号
email - 邮件
password - 密码
password_clear - 用户修改密码的时候设置真 
usertype - 用户类型(Super Administrator, Editor) 
gid - 用户的类型id ,与usertype对应 
block - 是否被阻止,如果阻止就设为1 
registerDate - 注册日期
lastvisitDate - 最后一次登录日期
guest - 如果用户未登录就设置为1,其他以上的字段都设置为空

以上的属性都可以直接访问,如果想获取数据库中其他的参数,可以通过getParam函数来获得,下面的代码获取的用户的语言参数:

 

 

通常判断用户是否登录都是通过guest来判断的,当然通过id是否大于0也可以。


用户访问权限

不同的Joomla用户可能会有不同的权限,可以通过authorize()成员函数来判断一个用户是否具有执行某项任务的权利。authorize()有四个参数,第一个是我们要验证组件或者函数,第二个是任务,第三,四个分别是记录类型record types和ownership respectively相对关系,(英文很清晰,中文怎么这么难懂)。

libraries/joomla/user/authorization.php文件中包含了所有的用户权限项。我们来看下面的代码:

 

 

上面的第一段代码就是判断用户是否可以编辑所有的文章,第二段则是判断是否可以发布自己的文章。

如果你自己开发了扩展,标准的权限也许并不合适你,那么你还可以添加自定义的权限项。以下是添加权限的代码例子:

 

 

在我们自己的扩展中,进入组件或者插件的前部,就写如这样的代码,就可以判断是否有访问和执行某项任务的权限了权限了。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值