我尝试使用Ion Auth来保护我网站上的管理区域。
我安装了Ion Auth(添加了表格,复制了文件)。
我添加了文件application / system / core / MY_Controller.php,如下所示:
<?php
class Admin_Controller extends CI_Controller {
//Class-wide variable to store user object in.
protected $the_user;
public function __construct() {
parent::__construct();
if (!$this->ion_auth->is_admin() )
{
redirect('/auth/login');
}
}
}
?>
在管理区域的所有控制器中,我将CI_Controller更改为Admin_Controller,如下所示:
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Start extends Admin_Controller
{
public function index()
{
$this->load->view('layout/_header');
$this->load->view('layout/_left');
$this->load->view('admin/start');
$this->load->view('layout/_footer');
}
}
现在我正在试图弄清楚如何用我的布局视图创建自己的登录表单。
我不知道该怎么做。在“auth / login”中,控制器视图以某种奇怪的方式加载:
$this->_render_page('auth/login', $this->data);
有人可以帮我写一个登录表单,这与我加载视图的方法是兼容的吗?
我的意思是这个方法:
$this->load->view('layout/_header');
$this->load->view('layout/_left');
$this->load->view('admin/login'); // i want to load login form here
$this->load->view('layout/_footer');
答案 0 :(得分:2)
我建议您阅读:http://benedmunds.com/ion_auth/
登录视图:
<div id="infoMessage"><?php echo $message;?></div>
<?php echo form_open("auth/login");?>
<p>
<?php echo lang('login_identity_label', 'identity');?>
<?php echo form_input($identity);?>
</p>
<p>
<?php echo lang('login_password_label', 'password');?>
<?php echo form_input($password);?>
</p>
<p>
<?php echo lang('login_remember_label', 'remember');?>
<?php echo form_checkbox('remember', '1', FALSE, 'id="remember"');?>
</p>
<p><?php echo form_submit('submit', lang('login_submit_btn'));?></p>
<?php echo form_close();?>
<p><a href="forgot_password"><?php echo lang('login_forgot_password');?></a></p>
答案 1 :(得分:0)
public function __construct(){ 父:: __构建体();
// Check if the user is already logged in
if (!$this->ion_auth->logged_in()) {
// If not, we send him to the login Page
redirect('admin/user/login', 'refresh');
}
}