后台管理员表中 做一个加盐处理 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框架下登录登出权限控制(一).相关推荐

  1. 从零开始java安全权限框架篇(一):spring security配置登录登出的配置

    目录 一:安全权限框架的选取 二:功能 三:登录登出 四:代码注释 1.将登陆交由Spring security完成 2.前台明文密码加密,与数据库比对 3.关键配置 4.自定义用户异常 5.ajax ...

  2. SSM项目图书馆管理系统,适合新人练手和毕设参考,功能首页展示 系统注册登录登出 用户管理 权限控制管理 书籍管理 图书借阅管理 个人借阅记录管理 书籍详细信息展示等

    图书馆管理系统,系统采用B/S架构 系统采用框架:java+maven+stringboot+mybatis+mysql-plus+boostart(前端界面) 首页展示 内容后台管理 菜单权限管理 ...

  3. 网易云信集成视频教程(一):如何快速实现安卓登录登出?

    由于网易云信稳定.可靠的技术服务以及拥有深厚积淀的行业口碑,越来越多用户集成云信IM和音视频功能.为了提升用户集成效率,我们推出了一系列网易云信集成视频教程,希望帮助用户快速实现功能接入.第一期将为大 ...

  4. ThinkPHP---案例1登录登出和添加部门

    配置文件分3类:系统配置文件,分组配置文件,应用配置文件 ①系统配置文件ThinkPHP/Conf/convention.php: ②分组 / 模块 /平台配置文件Home/Conf/config.p ...

  5. 基于ThinkPHP框架开发的漂亮的家装修公司网站PHP源码

    源码介绍 基于ThinkPHP框架开发的仿生活家装修公司网站是一款采用ThinkPHP3.2.3内核开发的一款装饰公司网站PHP源码,整个界面主要仿照生活家装饰公司的风格,网站界面大气,直接安装使用即 ...

  6. 招标php,基于ThinkPHP框架招投标平台架构设计.doc

    基于ThinkPHP框架招投标平台架构设计 基于ThinkPHP框架招投标平台架构设计 摘要:本文基于招投标平台的需求分析,比较了国内外流行的几种MVC框架,选择ThinkPHP框架进行架构设计,后台 ...

  7. ASP.NET Core 登录登出 - ASP.NET Core 基础教程 - 简单教程,简单编程

    ASP.NET Core 登录登出 - ASP.NET Core 基础教程 - 简单教程,简单编程 原文:ASP.NET Core 登录登出 - ASP.NET Core 基础教程 - 简单教程,简单 ...

  8. php7cms框架,GitHub - itsky71/itskycms: 基于ThinkPHP框架的一个CMS系统

    ITskyCMS简介 ITskyCMS 是一款完全开源免费的PHP+MYSQL系统.核心采用了Thinkphp框架,同时也作为开源软件发布.集众多开源项目于一身的特点,使本系统从安全,效率,易用及可扩 ...

  9. php接入微信支付,扫码支付和H5支付(非微信浏览器),基于thinkPHP框架 WeChatDeveloper支付类包 踩坑指南

    此文章入选<PHP领域内容榜>第4名 文章介绍 本文主要介绍通过thinkPHP5和第三方支付类包(WeChatDeveloper)实现快速接入微信扫码支付和微信H5手机网站支付(非微信浏 ...

最新文章

  1. .NET框架设计—常被忽视的框架设计技巧
  2. 线程池之工作项,等待项,计时项 (存在疑问???)
  3. awk中$NF和NF的含义
  4. javascript的eval和with使用小结
  5. [导入]查询锁定表中非锁定记录。
  6. 《程序员歌单》请查收
  7. 阐述:SIP协议是什么
  8. 李学勤:功利化是现在教育的最大问题
  9. 面向对象方法及软件工程——团队答辩
  10. bios文件查看工具_“主板BIOS教程”手把手教你刷bios,多种bios教程
  11. java 日本时区_java时区时间ZoneOffset, ZoneId,OffsetTime,OffsetDateTi
  12. java解析xml的4种经典方法
  13. Smarty3的性能问题
  14. acm之奇葩数据输入专题
  15. labelcontrol 多行_ios – UISegmentedControl中的两行文本
  16. win10系统怎么改奇摩输入法_教你打造最强「Windows 10」微软拼音输入法 + 600万词库下载...
  17. mysql实体完整性实现方法_mysql 完整性约束
  18. html的日期插件标签,CaretTab - 新式可以显示时间和日期的标签
  19. C语言中计算字符串长度的函数
  20. Ps(Adobephoto shop)当中布尔运算的使用方法

热门文章

  1. Win8.1下VM与Hyper-v冲突解决方法
  2. 为什么处理有序数组比无序数组快?
  3. onsubmit阻止表单提交
  4. 【译】JavaScript 工厂函数 vs 构造函数
  5. Oracle提示已连接到空闲的实例
  6. iOS截取NSString字符串
  7. freemarker include 和 import
  8. SQL多表连接查询(详细实例)
  9. 【ANDROID游戏开发十六】ANDROID GESTURE之【触摸屏手势识别】操作!利用触摸屏手势实现一个简单切换图片的功能!...
  10. 猴子请来的逗比项目流水总结