Codeigniter整合Tank Auth权限类库详解

 更新时间:2014年06月12日 16:01:29   投稿:shichen2014  
相交其他CodeIgniter的类库,tank_auth,配置简单,使用也简单,并且作者也一直在更新。这篇文章主要介绍了Codeigniter整合Tank Auth权限类库详解,需要的朋友可以参考下

相交其他CodeIgniter的类库,tank_auth,配置简单,使用也简单,并且作者也一直在更新,现在是1.0.9。1.0.8已经支持CI2.0了,我现在一般的项目都是用它,所以推荐给大家。

安装Tankauth的步骤

下载最新版类库(下载地址:http://www.konyukhov.com/soft/tank_auth/tank_auth.zip)

解压文件
将application下相应的文件复制到你的CIapplication文件夹下。
将captcha文件夹复制到你的CI文件夹(项目目录,和application同一个目录)下.并确保该目录在web服务器下可写。
在你的MySQL数据库里安装数据库(schema.sql文件)结构。
在你的CI项目下打开application/config/config.php文件,并且把$config['sess_use_database']的值改为TRUE.
安装完成!

如果访问出现如下错误:

AnErrorWasEncountered
InordertousetheSessionclassyouarerequiredtosetanencryptionkeyinyourconfigfile.

这个错误提示需要一个密钥。那么打开config.php,在$config['encryption_key']后面,随便加一个密钥即可。

TankAuth官网地址:http://www.konyukhov.com/soft/tank_auth/

如果出现了错误,不要忘记看配置文件(tank_auth.php和email.php),安装完成后类库应该可以完美工作了,但是根据你的服务器的条件和你的需要,最好有选择性的修改一下。

提示:默认情况下,类库产生强大的系统特定的密码哈系值是不可移植的,这就是说一旦创建,用户数据库就不能导出并导入到其他数据库中,这个特性也可以通过配置文件修改。

Tankauth类库的简单说明

类库运用了MVC模型,这也就是说所有的数据库相关的方法都封装在了模型(model)文件中,并且类库本身作也为了这些方法的接口。控制器(auth)处相关请求,并调用类库中的方法,渲染相应的视图(view)(显示在浏览器中或以email方式发送)。控制器包含如下的方法:

login:用户登录网站。如果登录成功,并且用户账户是激活的,用户将被重定向到首页。如果未被激活,send_again将被调用(看下面)。如果登录失败,用户将继续留在相同页面(登录页面);
logout:注销用户。
register:注册用户到网站。如果注册成功,将创建一个用户账户。如果在配置文件中的email_activation项的值被设置为TRUE,则用户需要通过点击发送到email中的特殊连接激活账户;否则默认激活。请注意:注册完后用户并没有通过登录验证,仍然需要登录。
send_again:再次发送激活email到相同或者新的email地址。当为激活用户登录是,每次调用这个方法。当用户由于信箱的问题或者错误的emial地址未收到信件时,这个功能是非常有用的。用户可以改变他们的email或者保持不变。
activate:激活用户账户。通常这个方法是通过点击email中的链接调用激活的。可以通过点击”forgotpassword”,输入email来激活账户。用户是通过在URL中的用户的Id和验证码来认证的。
forgot_password:生成特殊的重置码(为了修改密码)并发送给用户。很显然用户在忘记密码的时候才会用到该方法。
reset_password:用一个新的(用户设置的)密码替换旧的(忘记的)密码。这个方法可以通过点击邮件中的连接调用。用户是通过在URL中的用户的Id和验证码来认证的。
change_password:“正常的”密码修改(相比于重置密码)。只能在用户登录并且激活的时候才可调用。为了保证安全,仍然需要验证用户秘密。
change_email:修改用户的email。只能在用户登录并且激活的时候才可调用。为了保证安全,仍然需要验证用户秘密。这个新的email只有通过点击发到这个email中的链接才能被激活。
reset_email:激活新email地址并用一个新的email地址替换。可以通点击邮件中的链接调用该方法。用户是通过在URL中的用户的Id和验证码来认证的。
unregister:删除用户账户。只能在用户登录并且激活的时候才可调用。为了保证安全,仍然需要验证用户秘密。

既然auth控制器管理用户的所以方法(包括登录和注销),所以你未必一定要直接调用类库中的方法。但是下面这些是一定要调用的:

is_logged_in:检测用户是否登录网站。
get_user_id:如果用户登录,获得用户Id,否则返回FALSE。
get_username:获得验证用户的用户名,否则返回FALSE。如果该用户名没有注册,调用这个方法是无意义的(这时候任何用户都将返回一个空的字符串)。

相关文章

  • 实例化php类时传参的方法分析

    实例化php类时传参的方法分析

    这篇文章主要介绍了实例化php类时传参的方法,结合实例形式分析了实例化php类时传参的相关原理、实现方法与操作注意事项,需要的朋友可以参考下
    2020-06-06
  • PHP tp5中使用原生sql查询代码实例

    PHP tp5中使用原生sql查询代码实例

    这篇文章主要介绍了PHP tp5中使用原生sql查询代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-10-10
  • 浅谈php fopen下载远程文件的函数

    浅谈php fopen下载远程文件的函数

    下面小编就为大家带来一篇浅谈php fopen下载远程文件的函数。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-11-11
  • PHP设计模式之外观模式(Facade)入门与应用详解

    PHP设计模式之外观模式(Facade)入门与应用详解

    这篇文章主要介绍了PHP设计模式之外观模式(Facade),结合实例形式详细分析了PHP外观模式的具体原来、用法及相关操作注意事项,需要的朋友可以参考下
    2019-12-12
  • php导入模块文件分享

    php导入模块文件分享

    本文给大家分享的是php导入模块文件分享,主要参数有导入文件路径字符串,可以用"."代替"/", 导入文件类型的扩展名(带"."号),也可以是class/inc(简写方式), 如果导入成功则返回true,否则返回异常对象,有需要的小伙伴参考下吧。
    2015-03-03
  • 通过php快速统计某个数据库中每张表的数据量

    通过php快速统计某个数据库中每张表的数据量

    在优化数据库的,或者在导入数据的时候,知道某个数据库中哪张数据表的数据量最多,有时候对我们还是有帮助的
    2012-09-09
  • PHP实现自动加载机制

    PHP实现自动加载机制

    这篇文章主要介绍了PHP实现自动加载机制,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-07-07
  • PHP在线书签系统分享

    PHP在线书签系统分享

    这篇文章主要为大家介绍了PHP在线书签系统,分析系统需求、提出解决方案,建立数据库,实现基本网站的框架,需要的朋友可以参考下
    2016-01-01
  • php URL跳转代码 减少外链

    php URL跳转代码 减少外链

    有时候我们需要添加外链但对于网站来说过多外链是不好的,那么我们可以通过跳转来实现。
    2011-06-06
  • laravel 4安装及入门图文教程

    laravel 4安装及入门图文教程

    最详细的laravel 4安装及入门图文教程 laravel安装入门,最近,很多朋友因此想学习实用laravel,但是了,自己又不会安装,网上的教程都是零零散散的,无从下手。今天就为大家整理出来,希望对大家有所帮助
    2014-10-10

最新评论