Thinkphp权限认证(2)-Auth权限控制器

根据上一节内容 Auth权限认证规则与管理组创建  我们创建好了相关的规则和管理组。下面介绍下如何在其他控制器中进行权限认证:

在控制器Controller目录中创建以下控制器。

1.创建登录控制器 LoginController.class.php

namespace Admin\Controller;
use Think\Controller;

class LoginController extends Controller{
	
	public function index(){
		if(IS_POST){
			$_POST['password'] = md5($_POST['password']);
			$user = M('user');
			if($user->create()){
				if($data = $user->where(I())->find()){
					$_SESSION['user'] = $data;
					$this->success("登录成功!",U("Index/index"));
				}else{
					$this->error("登录失败");
				}	
				
			}else{
				$this->error("登录失败");
			}
			exit;
		}
		$this->display();
	}
	public function logout(){
		$_SESSION['user'] = array();
		$this->redirect("Login/index");
	}
}

2.创建公共控制器 PublicController.class.php

namespace Admin\Controller;
use Think\Controller;

class PublicController extends Controller{
	
	public function _initialize(){
               //判断登录
		$uid = $_SESSION['user']['id'];
		if(!$uid){
			$this->error("请先登录!",U("Login/index"));
		}
		//判断超级管理员
		if($uid == 6){
			return true;
		}
		//权限认证
		$auth = new \Think\Auth();
		$rule = CONTROLLER_NAME.'/'.ACTION_NAME;
		if(!$auth->check($rule,$uid)){
			$this->error("没有权限");
		}
	}
}

3.在其他控制器继承 PublicController.class.php

namespace Admin\Controller;

class IndexController extends PublicController {
    public function index(){
        
		$this->display();
    }
}

完成以上即可实现Auth权限认证控制。

 

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇