我正在使用Code Igniter开发应用程序并遇到问题:
我有几个访问数据库的函数,它们的路由如下:
控制器/功能/可变 employess / deleteEmployee / 4
所以,任何将这个放在网址上的人都会删除该员工。
如何设法仅允许已登录的管理员用户访问此功能? 有一种简单且被广泛接受的方式吗? 如果有用户登录且该用户有权限,我必须每次检查一次吗?
此致
答案 0 :(得分:0)
以下是参考的网址...
https://ellislab.com/codeigniter/user-guide/general/hooks.html
这是一个简单的例子
$.ajax({
url: '/article/' + articleId,
type: 'DELETE',
success: function(result) {
// Do something with the result
}
});
将此代码复制到/application/config/hooks.php
中Copy this piece of code as checksession.php and save it in /application/hooks
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Checksession
{
private $CI;
public function __construct()
{
$this->CI =&get_instance();
}
public function index()
{
if($this->CI->router->fetch_class() != "login"){
// session check logic here...change this accordingly
if($this->CI->session->userdata['userid'] == '' ){
redirect('login');
}
}
}
}
启用/application/config/config.php中的挂钩
$hook['post_controller_constructor'] = array(
'class' => 'checksession',
'function' => 'index',
'filename' => 'checksession.php',
'filepath' => 'hooks'
);
希望这有帮助。
好运和快乐编码