thinkphp5登录并保存session根据不同用户权限跳转不同页面

Posted 我乐意啊

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了thinkphp5登录并保存session根据不同用户权限跳转不同页面相关的知识,希望对你有一定的参考价值。

本文讲述如何在thinkphp5中完成登录并保存session、然后根据不同的用户权限跳转相应页面功能的实现。我也在学习thinkphp源码的路上,记录一下并与大家分享。完成该步骤主要有以下三个步骤完成。


一、密码校验

这里view层提交过来的用户名和密码是不加密的,数据中的密码是经过md5加密的,所以首先对密码进行加密,然后跟数据库中的记录比对,如果一致则认为成功。


二、session保存

如果校验成功则将用户信息保存在session中。


三、根据不同权限跳转

有时候我们对于不同的用户展示的页面也不同,这时就需要我们根据用户的权限跳转到相应的页面。


四、实现代码

 1 // 登录
 2 public function login()
 3 {
 4     //密码加密并从数据库查找记录
 5     $map[‘username‘] = input(‘post.a‘);
 6     $map[‘password‘] = md5(input(‘post.b‘));
 7     $user=db(‘user‘)->where($where)->find();
 8     //验证成功则保存session
 9     if ($user) {
10         unset($user["psd"]);
11         session("user", $user[‘id‘]);
12         //根据不同权限跳转
13         if($user[‘quanxian‘] == 0){
14             $this->redirect(‘Module1/index/index‘);
15         }
16         elseif ($user[‘quanxian‘] == 1) {
17           $this->redirect(‘MOdule2/index/index‘);
18         }
19         else{
20           $this->redirect(‘Module3/index/index‘);
21         }
22     }else{
23         print_r (‘error!‘);
24         return false;
25     }
26 }

 





以上是关于thinkphp5登录并保存session根据不同用户权限跳转不同页面的主要内容,如果未能解决你的问题,请参考以下文章

cookie、session、redis实现单点登录

JSP中怎样用session保存并验证用户登录信息

php保存session之后从不同页面读取的值不同?

ThinkPHP5防止非法登录

ThinkPHP5.0下,利用Cookie和Session来存储用户信息

快速理解Token,Cookie,Session