设为首页
收藏本站
Archiver
用户
登录
入住
用户名
Email
自动登录
找回密码
密码
登录
入住 CI 中国社区
首页
返回 CodeIgniter 中国首页
论坛
BBS
导读
Guide
个人主页
Space
中文手册
搜索
CodeIgniter 搜索引擎
视频教程
案例
任务
搜索
搜索
本版
帖子
用户
设为首页
收藏本站
Archiver
开启辅助访问
切换到宽版
日志
相册
分享
记录
CodeIgniter4
CodeIgniter3
CodeIgniter2
帖子
好友
道具
勋章
收藏
任务
记录
留言板
设置
我的收藏
退出
腾讯QQ
微信登录
CodeIgniter 中国开发者社区
»
论坛
›
CodeIgniter 开发
›
CodeIgniter 问答求助
›
如何实现用户登录
1
2
3
/ 3 页
下一页
返回列表
查看:
11628
|
回复:
20
[已解决]
如何实现用户登录
[复制链接]
仲夏
仲夏
当前离线
积分
6
IP卡
狗仔卡
发表于 2010-1-21 23:55:45
|
显示全部楼层
|
阅读模式
本帖最后由 仲夏 于 2010-1-23 14:37 编辑
初学,在一些基础的地方没有概念…
应该如何实现用户登录呢?用户注册我已经做好了,登录页面提交的数据我也处理好了(从数据库中对比用户名和密码),下一步应该如何记录用户的登录状态呢?用cookie?session?
麻烦给一下思路吧,最好有个简单的代码例子…
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
显身卡
ivanlw
ivanlw
当前离线
积分
1307
IP卡
狗仔卡
发表于 2010-1-22 00:57:46
|
显示全部楼层
参见
http://codeigniter.org.cn/forums ... ntable&tid=4094
中的
“4. [菜鸟也CI]一切从留言板开始 全程跟进”
第二节吧,用到第三方类库kndb session,论坛中很多人说CI的session不好用或者出问题~这个教程应该很清楚了!
回复
支持
反对
使用道具
举报
显身卡
仲夏
仲夏
当前离线
积分
6
IP卡
狗仔卡
楼主
|
发表于 2010-1-22 11:51:18
|
显示全部楼层
依旧不是很明白…
我把登录成功的用户名、密码都保存在session里了,但我没法动态自定义保存时间(自动登录),应该怎么做呢?莫非还要再将数据存到cookie里吗?
回复
支持
反对
使用道具
举报
显身卡
Hex
Hex
当前离线
积分
50193
IP卡
狗仔卡
发表于 2010-1-22 12:07:31
|
显示全部楼层
如果你要自动登陆,也就是说用户关闭浏览器,下次访问还是登陆状态(比如常见的记住密码30天),就必须存到 cookie 中。
回复
支持
反对
使用道具
举报
显身卡
ivanlw
ivanlw
当前离线
积分
1307
IP卡
狗仔卡
发表于 2010-1-22 12:27:36
|
显示全部楼层
回复
4#
Hex
如果想在网站各个页面都判断一下用户是否有登陆,是不是每个页面都要读一下cookie呢?这样子页面多了很麻烦……有没有简单一点的办法?
回复
支持
反对
使用道具
举报
显身卡
仲夏
仲夏
当前离线
积分
6
IP卡
狗仔卡
楼主
|
发表于 2010-1-22 13:14:44
|
显示全部楼层
我现在在每次用户登录的时候都将用户名写入session和cookie(写入cookie前先加密),然后在载入每个页面时都通过辅助函数来对比session和cookie中的用户名,若相同则为已登录。同时通过cookie的自动过期来实现“自动登录”的时长。
这样做算安全吗?
回复
支持
反对
使用道具
举报
显身卡
visvoy
visvoy
当前离线
积分
1342
IP卡
狗仔卡
发表于 2010-1-22 14:06:29
|
显示全部楼层
这是权限控制类的东东,楼主可以参考用CI写的博客或CMS的用户权限源码,代码区置顶有开源项目下载地址
回复
支持
反对
使用道具
举报
显身卡
Hex
Hex
当前离线
积分
50193
IP卡
狗仔卡
发表于 2010-1-22 14:18:53
|
显示全部楼层
楼上说的没错,参考一下。
cookie 不用每次都验证,用户第一次来先看 cookie,cookie 有就执行登陆操作,以后就判断 session 就行了。
当然是每个需要判断用户的控制器都要加代码了,当然你可以做一个 MY_Controller 来统一处理,就看你对 CI 有多了解了。
回复
支持
反对
使用道具
举报
显身卡
仲夏
仲夏
当前离线
积分
6
IP卡
狗仔卡
楼主
|
发表于 2010-1-22 16:19:02
|
显示全部楼层
感谢楼上两位~
我现在的做法是,不用cookie了,用户登录时写入session,然后通过设定 $this->session->sess_expiration 来指定session过期时间,从而实现设定“自动登录”的保存时间。以后每次页面载入时都判断一次is_login,这个判断只需要读session就行了。
这样做应该OK吧?
回复
支持
反对
使用道具
举报
显身卡
Hex
Hex
当前离线
积分
50193
IP卡
狗仔卡
发表于 2010-1-22 16:20:27
|
显示全部楼层
一般来说 session 在关闭浏览器就应该失效。
回复
支持
反对
使用道具
举报
显身卡
下一页 »
1
2
3
/ 3 页
下一页
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
入住 CI 中国社区
本版积分规则
发表回复
回帖后跳转到最后一页