用户
 找回密码
 入住 CI 中国社区
搜索
查看: 12493|回复: 10
收起左侧

Tank_autn CodeIgniter的简单权限类库的翻译和下载

  [复制链接]
发表于 2011-6-22 02:52:42 | 显示全部楼层 |阅读模式
一开始找了很多CodeIgniter的类库,觉得都不怎么样,后来干脆自己通过CI的钩子系统写了权限管理(原文CodeIgniter中利用钩子系统实现基于URL的权限控制系统),但是还是不怎么满意,后来有人推荐tank_auth,感觉挺好的,配置简单,使用也简单,而且作者也一直在更新,现在是1.0.9。1.0.8已经支持CI 2.0了,我现在一般的项目都是用它,所以推荐给大家。
官方下载及说明地址:http://www.konyukhov.com/soft/tank_auth/
直接下载地址:http://www.dodonline.org/?p=24
翻译一下安装和说明:
安装Tank_auth
  • 下载最新版类库
  • 解压文件
  • application 下相应的文件复制到你的 CI application 文件夹下。
  • captcha 文件夹复制到你的CI 文件夹(项目目录,和application同一个目录)下. 并确保该目录在web服务器下可写。
  • 在你的MySQL数据库里安装数据库(schema.sql文件)结构。
  • 在你的CI项目下打开 application/config/config.php 文件,并且把 $config['sess_use_database'] 的值改为 TRUE.
安装完成!
如果出现了错误,不要忘记看配置文件(tank_auth.phpemail.php),安装完成后类库应该可以完美工作了,但是根据你的服务器的条件和你的需要,最好有选择性的修改一下。提示:默认情况下,类库产生强大的系统特定的密码哈系值是不可移植的,这就是说一旦创建,用户数据库就不能导出并导入到其他数据库中,这个特性也可以通过配置文件修改。Tank_auth类库的简单说明还在翻译,翻译成果请到我的博客查看
http://www.dodonline.org/?p=24


发表于 2011-6-22 10:39:50 | 显示全部楼层
ico.zip (2.35 KB, 下载次数: 44)
 楼主| 发表于 2011-6-22 11:53:38 | 显示全部楼层
翻译完成:

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

login:用户登录网站。如果登录成功,并且用户账户是激活的,用户将被重定向到首页。如果未被激活,send_again 将被调用(看下面)。如果登录失败,用户将继续留在相同页面(登录页面);
logout:注销用户。
register:注册用户到网站。如果注册成功,将创建一个用户账户。如果在配置文件中的 email_activation 项的值被设置为 TRUE,则用户需要通过点击发送到email中的特殊连接激活账户;否则默认激活。请注意:注册完后用户并没有通过登录验证,仍然需要登录。
send_again:再次发送激活email到相同或者新的email地址。当为激活用户登录是,每次调用这个方法。当用户由于信箱的问题或者错误的emial地址未收到信件时,这个功能是非常有用的。用户可以改变他们的email或者保持不变。
activate:激活用户账户。通常这个方法是通过点击email中的链接调用激活的。可以通过点击”forgot password”,输入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。如果该用户名没有注册,调用这个方法是无意义的(这时候任何用户都将返回一个空的字符串)。
发表于 2011-8-8 17:17:51 | 显示全部楼层
留个记号  暂时还用不着
发表于 2011-9-2 17:20:10 | 显示全部楼层
我想问问你,安装tank 时出现 问题了么?如何处理?A Database Error Occurred
Error Number: 1364
Field 'user_data' doesn't have a default value
INSERT INTO `ci_sessions` (`session_id`, `ip_address`, `user_agent`, `last_activity`) VALUES ('cc184e2b11d1cbd3fa659f55742a2f6e', '127.0.0.1', 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.100 Safari/534.30', 1314955274)
Filename: D:\wwwroot\ciphp\mytem\database\DB_driver.php
Line Number: 330



发表于 2011-9-13 16:23:06 | 显示全部楼层
yjjknife 发表于 2011-9-2 17:20
我想问问你,安装tank 时出现 问题了么?如何处理?A Database Error OccurredError Number: 1364Field 'us ...

没有人。。。。请教!
发表于 2011-10-6 17:26:11 | 显示全部楼层
支持其他数据库不?????
 楼主| 发表于 2011-10-7 22:36:18 | 显示全部楼层
blueflagbj 发表于 2011-10-6 17:26
支持其他数据库不?????

CI支持其他数据库就行了啊,这个是类库,用的是CI写的,所以只要配置好CI,然后把表结构复制过去就好了
发表于 2011-10-8 04:23:30 | 显示全部楼层
TANK果然是好  ,但是用的同志请注意   他没有用户角色管理这块 只是一个用户认证
发表于 2011-10-8 04:27:39 | 显示全部楼层
简单权限类库 都称不上。只是叫一个用户认证库 倒真很好的 见笑了 LZ

本版积分规则