我在 function _modalWindowController ($scope, $modalInstance, title,name,data){
$scope.title = "";
if (title) {
$scope.title = title;
}
$scope.name = name;
$scope.data = data;
$scope.chart = function(title,name,data){
$('#detailChart').highcharts({
...
})
};
//this line does not work!
$($scope.chart($scope.title,$scope.name,$scope.data));
$scope.confirm = function () {
$modalInstance.close();
};
$scope.cancel = function () {
$modalInstance.dismiss();
};
}
中创建了一个名为My_Controller
的Controller类。在此Core Folder
中,正在检查class
是否存在。此session
正在所有控制器类中进行扩展。这是代码
controller
问题:在MVC架构中编写<?php
class My_Controller extends CI_Controller {
function __construct()
{
parent::__construct();
$this->load->library('session')
if(empty($this->session->userdata('userName')) {
header('Location: '."Login Url");
}
}
}
?>
代码是否有更好的位置?
答案 0 :(得分:0)
您需要在CI中创建挂钩并检查那里的会话。 Hook将调用每个请求,以便您可以在那里写入权限角色。
以下是有关如何编写钩子的详细信息。
答案 1 :(得分:0)
您不必使用session_start();
在控制器中
class My_Controller extends CI_Controller {
function __construct()
{
parent::__construct();
}
public function index($value)
{
$session = $this->model_name->check_session();
if($session==true){
#valid code
}
else{
redirect('controller/method');
}
}
}
在模型中
public function log_in()
{
$log = $this->session->all_userdata();
if (isset($log['userName'])) {
return true;
} else {
return false;
}
}
答案 2 :(得分:-1)
在hook文件夹中创建文件名auth_hook.php并编写此代码
<?php
if (!defined('BASEPATH'))
exit('No direct script access allowed');
class Auth_hook extends CI_Controller {
private $CI;
public function __construct() {
$this->CI = & get_instance();
}
public function is_authorized() {
$uri = $this->CI->uri->segment(1);
if (strcmp($uri, 'user') && $uri != '') {
if ($this->CI->session->userdata('logged_in')) {
return true;
} else {
redirect(site_url('user'));
}
return true;
}
return true;
}
}