dxauth中文文档.docx
《dxauth中文文档.docx》由会员分享,可在线阅读,更多相关《dxauth中文文档.docx(23页珍藏版)》请在冰豆网上搜索。
dxauth中文文档
DXAuthUserGuideVersion1.0参考手册
原文:
欢迎使用DXAuth
DXAuth是一个CodeIgniter(PHP框架)的身份验证库。
她的目标是是你容易地实现安全,容易的在你的项目中使用身份验证库,同时给你选择简单验证系统或全能验证系统的灵活性。
DXAuth是以国际化思路构建的,所以所有的字符串都是在语言文件中可用的。
(除了捆绑的示例,因为那时你的代码而不是库)。
它由JasonAshdown基于CLAuth0.2.5开发。
DXAuth的特色有哪些?
基本验证(登录,注销,注册,修改密码)。
记住我。
使用用户名或E-mail或两者登录(依赖于你的配置)。
忘记密码。
踢人。
最后登录的IP地址和时间(可选)。
E-mail激活(可选)。
用户档案(可选)。
基于角色(管理员,用户,版主,等)。
也支持继承(可选)。
基于URI和角色限制页面访问(可选)。
为每个角色自定义权限(可选)。
登录尝试(可选)。
你可以使用它在指定的尝试次数后显示验证码以阻止机器人。
事件(例如:
你可以自己加上在用户激活后发送欢迎站内信的代码)。
验证码(可选,自带的和reCAPTICHA均可用)。
简单的管理员面板(这样你可以对它自定义,把它包含进你自己的管理员面板,或者如果你不需要就删了它)。
多数特性是可选的,意味着你可以在配置文件里把它关掉,删掉,或放着不用它。
CLAuth0.2.5后的更新
如果你以前用过CLAuth,你或许想知道在CLAuth0.2.5后有些什么更新。
Bug修正。
添加、修改函数
修改了代码结构
组改为角色
直接与CI绑定的session兼容
为国际化添加语言文件
所有的函数命名以“lower_case”风格取代了“camelCase”风格。
源代码书写遵循CI用户手册规范
添加源代码注释,这样你可以容易地跟进。
带有详细解释的CodeIgniter风格用户手册。
还有其他一些我忘了的鸟...
看起来挺好,从哪儿开始呢?
请阅读“开始”或者看示例。
DXAuth在CI1.7.0下测试通过,但在以前版本中应该也可以使用。
CodeIgniterDXAuth插件安装
原文:
下载DXAuth
点此下载 官方页面:
安装说明
安装带有示例的DXAuth
1.将压缩包解压。
2.复制captcha文件夹到你的CI文件夹。
让Web服务器对此文件夹可写。
3.复制application文件夹到你的CIapplication文件夹。
4.将 DXAuth的数据库结构安装到你的数据库。
5.打开application/config/config.php。
修改$config['sess_use_database']为TRUE。
只安装DXAuth库
1.将压缩包解压。
2.复制captcha文件夹到你的CI文件夹。
让Web服务器对此文件夹可写。
3.复制application/plugins/文件夹到你的CIapplication/plugins/文件夹。
4.复制application/config/文件夹到你的CIapplication/config/文件夹。
5.复制application/libraries/文件夹到你的 CIapplication/libraries/文件夹。
6.复制application/helpers/文件夹到你的CIapplication/helpers/文件夹。
7.复制application/models/文件夹到你的CIapplication/models/文件夹。
8.复制application/language/文件夹到你的CIapplication/language/文件夹。
9.将 DXAuth的数据库结构安装到你的数据库。
10. 打开application/config/config.php。
修改$config['sess_use_database']为TRUE。
搞定!
如果你初学DXAuth,请阅读用户手册的开始章节以开始使用DXAuth。
数据库结构
下面是DXAuth库所需的数据库结构,或者你也可以在下载zip文件并解压后从'schema.sql'中找到它。
这将安装:
∙名为'ci_sessions'的CISession表。
如果在你的数据库中已经有这个表你可以删掉'ci_session'的安装脚本。
∙DXAuth库表。
∙具有管理员角色的用户,用户名:
admin,密码:
hello。
∙具有用户角色的用户,用户名:
user,密码:
hello。
∙role_table中的默认角色(用户和管理员)。
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
/*!
40101SET@OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT*/;
/*!
40101SET@OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS*/;
/*!
40101SET@OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION*/;
/*!
40101SETNAMESutf8*/;
----------------------------------------------------------
--
--Tablestructurefortable`ci_sessions`
--
CREATE TABLE IF NOT EXISTS `ci_sessions` (
`session_id` varchar(40) collate utf8_bin NOT NULL default '0',
`ip_address` varchar(16) collate utf8_bin NOT NULL default '0',
`user_agent` varchar(150) collate utf8_bin NOT NULL,
`last_activity` int(10) unsigned NOT NULL default '0',
`user_data` text collate utf8_bin NOT NULL,
PRIMARY KEY (`session_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
----------------------------------------------------------
--
--Tablestructurefortable`login_attempts`
--
CREATE TABLE IF NOT EXISTS `login_attempts` (
`id` int(11) NOT NULL auto_increment,
`ip_address` varchar(40) collate utf8_bin NOT NULL,
`time` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=1 ;
----------------------------------------------------------
--
--Tablestructurefortable`roles`
--
CREATE TABLE IF NOT EXISTS `roles` (
`id` int(11) NOT NULL auto_increment,
`parent_id` int(11) NOT NULL default '0',
`name` varchar(30) collate utf8_bin NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=3 ;
--
--Dumpingdatafortable`roles`
--
INSERT INTO `roles` (`id`, `parent_id`, `name`) VALUES
(1, 0, 'User'),
(2, 0, 'Admin');
----------------------------------------------------------
--
--Tablestructurefortable`permissions`
--
CREATE TABLE IF NOT EXISTS `permissions` (
`id` int(11) NOT NULL auto_increment,
`role_id` int(11) NOT NULL,
`data` text collate utf8_bin,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=1 ;
----------------------------------------------------------
--
--Tablestructurefortable`users`
--
CREATE TABLE IF NOT EXISTS `users` (
`id` int(11) NOT NULL auto_increment,
`role_id` int(11) NOT NULL default '1',
`username` varchar(25) collate utf8_bin NOT NULL,
`password` varchar(34) collate utf8_bin NOT NULL,
`email` varchar(100) collate utf8_bin NOT NULL,
`banned` tinyint
(1) NOT NULL default '0',
`ban_reason` varchar(255) collate utf8_bin default NULL,
`newpass` varchar(34) collate utf8_bin