我的疑问是:有没有办法在codeigniter中做这样的事情
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Users extends CI_Controller {
public function __construct()
{
parent::__construct();
}
//This method only user with admin permission can access this
public function onlyAdmin(){
}
//This method all user can access this
public function allUser(){
}
}
类似或更具动感的东西。
Thanx适合你的时间。
答案 0 :(得分:0)
最简单的方法是使用身份验证库,因为您显然需要在应用中的某个位置进行身份验证。 CodeIgniter有很多可用的,在不同的情况下都有自己的优点和缺点。
请查看this post,了解一些情况,并查看是否有适合您的需求。
您可能想要一个支持不同用户组的用户。这样,当用户登陆您的页面时,您只需检查他们的组(管理员/用户/未登录),然后指导他们或相应地呈现页面。为此,您可以使用case语句为每个组运行不同的函数。这些函数应该为您提供每个用户组的特定自定义所需的页面。
答案 1 :(得分:0)
有很多方法可以做到这一点,但基本的一个是Phill Sturgeon's suggestion关于为任何使用级别的应用程序创建核心类,或者在{{1}中创建类似这样的内容(MY_Controller
类目录:
APPPATH . 'core'
在控制器中,你可以制作扩展适当核心类的文件/类:
class MY_Controller extends CI_Controller // prefix MY_ can be found in APPPATH . 'config/config.php' or you can set your own
{
public __construct()
{
parent::__construct();
}
}
class Admin_controller extends MY_Controller
{
public function __construct()
{
parent::__construct();
//pseudo code
if ($this->session->userdata('level') != 'admin')
{
exit("You need admin's privileges to get in here.");
}
}
}
class Public_controller extends MY_Controller
{
public function __construct()
{
parent::__construct();
}
}
或类似的东西:
class Blog extends Public_controller
{
public function __construct()
{
parent::__construct();
}
}
另外,您也可以查看this link。