基于ThinkPHP框架下登录登出权限控制(一).
后台管理员表中 做一个加盐处理 md5双从加密:
function encrypt_password($password){//加盐$salt = '98765435678908bnjuiygvbnk8';return md5( md5($password) . $salt);}
1, 后台的登录功能:(Login控制器login方法);
确认form表单完整性,完善name属性和提交地址
<div class="form-item"><label class="login-icon"></label><input type="text" id='username' name="username" placeholder="这里输入登录名" required></div><div class="form-item"><label class="login-icon"><i></i></label><input type="password" id="password" name="password" placeholder="这里输入密码"></div>
修改控制器中的login方法 用来接收表单并处理
public function login(){//一个方法处理两个逻辑if(IS_POST){//post请求 表单提交//接收参数$username = I('post.username');$password = I('post.password');$code = I('post.code');//参数检测if(empty($username) || empty($password) || empty($code) ){$this -> error('参数不全');}//验证码校验//实例化Verify类$verify = new \Think\Verify();//调用check方法进行校验$check = $verify -> check($code);if(!$check){//验证码错误$this -> error('验证码错误');}//根据用户名查询tpshop_manager表$info = D('Manager') -> where(['username' => $username]) -> find();// $info = D('Manager') -> where(['username' => $username, 'password' => encrypt_password($password)]) -> find();//如果查询到用户,则比对密码(将明文加密)if($info && $info['password'] == encrypt_password($password)){//用户名存在且密码一致 ,登录成功//设置登录标识session('manager_info', $info);$this -> success('登录成功', U('Admin/Index/index'));}else{//登录失败$this -> error('用户名或者密码错误');}}else{//页面展示//①如果已登录 可以直接跳转到后台首页//②如果已登录 也可以自动退出重新打开登录页面if(session('?manager_info')){// $this -> redirect('Admin/Index/index');session(null);}//临时关闭全局布局layout(false);//调用模板$this -> display();}}
登录成功,一定要设置登录标识到session。
转载于:https://www.cnblogs.com/yumingzhao/p/8546155.html
基于ThinkPHP框架下登录登出权限控制(一).相关推荐
- 从零开始java安全权限框架篇(一):spring security配置登录登出的配置
目录 一:安全权限框架的选取 二:功能 三:登录登出 四:代码注释 1.将登陆交由Spring security完成 2.前台明文密码加密,与数据库比对 3.关键配置 4.自定义用户异常 5.ajax ...
- SSM项目图书馆管理系统,适合新人练手和毕设参考,功能首页展示 系统注册登录登出 用户管理 权限控制管理 书籍管理 图书借阅管理 个人借阅记录管理 书籍详细信息展示等
图书馆管理系统,系统采用B/S架构 系统采用框架:java+maven+stringboot+mybatis+mysql-plus+boostart(前端界面) 首页展示 内容后台管理 菜单权限管理 ...
- 网易云信集成视频教程(一):如何快速实现安卓登录登出?
由于网易云信稳定.可靠的技术服务以及拥有深厚积淀的行业口碑,越来越多用户集成云信IM和音视频功能.为了提升用户集成效率,我们推出了一系列网易云信集成视频教程,希望帮助用户快速实现功能接入.第一期将为大 ...
- ThinkPHP---案例1登录登出和添加部门
配置文件分3类:系统配置文件,分组配置文件,应用配置文件 ①系统配置文件ThinkPHP/Conf/convention.php: ②分组 / 模块 /平台配置文件Home/Conf/config.p ...
- 基于ThinkPHP框架开发的漂亮的家装修公司网站PHP源码
源码介绍 基于ThinkPHP框架开发的仿生活家装修公司网站是一款采用ThinkPHP3.2.3内核开发的一款装饰公司网站PHP源码,整个界面主要仿照生活家装饰公司的风格,网站界面大气,直接安装使用即 ...
- 招标php,基于ThinkPHP框架招投标平台架构设计.doc
基于ThinkPHP框架招投标平台架构设计 基于ThinkPHP框架招投标平台架构设计 摘要:本文基于招投标平台的需求分析,比较了国内外流行的几种MVC框架,选择ThinkPHP框架进行架构设计,后台 ...
- ASP.NET Core 登录登出 - ASP.NET Core 基础教程 - 简单教程,简单编程
ASP.NET Core 登录登出 - ASP.NET Core 基础教程 - 简单教程,简单编程 原文:ASP.NET Core 登录登出 - ASP.NET Core 基础教程 - 简单教程,简单 ...
- php7cms框架,GitHub - itsky71/itskycms: 基于ThinkPHP框架的一个CMS系统
ITskyCMS简介 ITskyCMS 是一款完全开源免费的PHP+MYSQL系统.核心采用了Thinkphp框架,同时也作为开源软件发布.集众多开源项目于一身的特点,使本系统从安全,效率,易用及可扩 ...
- php接入微信支付,扫码支付和H5支付(非微信浏览器),基于thinkPHP框架 WeChatDeveloper支付类包 踩坑指南
此文章入选<PHP领域内容榜>第4名 文章介绍 本文主要介绍通过thinkPHP5和第三方支付类包(WeChatDeveloper)实现快速接入微信扫码支付和微信H5手机网站支付(非微信浏 ...
最新文章
- .NET框架设计—常被忽视的框架设计技巧
- 线程池之工作项,等待项,计时项 (存在疑问???)
- awk中$NF和NF的含义
- javascript的eval和with使用小结
- [导入]查询锁定表中非锁定记录。
- 《程序员歌单》请查收
- 阐述:SIP协议是什么
- 李学勤:功利化是现在教育的最大问题
- 面向对象方法及软件工程——团队答辩
- bios文件查看工具_“主板BIOS教程”手把手教你刷bios,多种bios教程
- java 日本时区_java时区时间ZoneOffset, ZoneId,OffsetTime,OffsetDateTi
- java解析xml的4种经典方法
- Smarty3的性能问题
- acm之奇葩数据输入专题
- labelcontrol 多行_ios – UISegmentedControl中的两行文本
- win10系统怎么改奇摩输入法_教你打造最强「Windows 10」微软拼音输入法 + 600万词库下载...
- mysql实体完整性实现方法_mysql 完整性约束
- html的日期插件标签,CaretTab - 新式可以显示时间和日期的标签
- C语言中计算字符串长度的函数
- Ps(Adobephoto shop)当中布尔运算的使用方法