我正在尝试在我的Codigniter+AngularJs页面中实现一些ACL的东西。我使用ng-route,所以在我的Master-View页面中有这一行:
<div ng-view></div>我正在使用ion-auth库来帮助实现ACL。
这是我的控制器:
public function __construct()
{
parent::__construct();
$this->load->database();
$this->load->library(['ion_auth', 'form_validation']);
$this->load->helper(['url', 'language']);
$this->lang->load('auth');
}
public function index()
{
if (!$this->ion_auth->logged_in())
{
// redirect them to the login page
redirect('/login', 'refresh');
}
else
$this->load->view('master_view');
}下面是我使用的ng-route:
var app = angular.module("myApp", ["ngRoute","bw.paging"]);
app.config(function($routeProvider) {
$routeProvider
.when("/", {
templateUrl : "/app/templates/cars_list.php",
controller: "CarsController"
})
});当我试图在我的主视图中使用ion auth的功能时,它工作得很好:
<?php if($this->ion_auth->in_group('admin')):?>
<a class="nav-item nav-link" href="index.php#!/list">Users</a>
<?php endif;?>但是,当我在已加载的模板(cars_list.php)中尝试这一行时,它什么也不做。请帮助me.How我可以在我的模板中使用$this吗?蒂娅!
发布于 2018-12-14 18:01:43
你不能在模板中使用$this,你可以这样做。
public function index()
{
if (!$this->ion_auth->logged_in())
{
// redirect them to the login page
redirect('/login', 'refresh');
}
else{
$data = [];
$data["allowed"] = $this->ion_auth->in_group('admin');
$this->load->view('master_view',$data);
}
}在视图中
<?php if($allowed):?>
<a class="nav-item nav-link" href="index.php#!/list">Users</a>
<?php endif;?>https://stackoverflow.com/questions/53777196
复制相似问题