我正在尝试使用CI登录,基本上是在用户登录后,根据用户类型角色,他将被重定向到页面admin/dashboard
或superadmin/dashboard
。我已经成功地加载了视图,但url有问题。登录后,网站会根据用户的类型加载正确的视图,但url仍然显示/auth/login。我该如何更改?我希望url显示为.../admin/dashboard
或.../superadmin/dashboard
这是我在控制器Auth功能登录中得到的。
if($this->ion_auth->is_admin()){
$this->load->view('superadmin/dashboard_view');
}else if($this->ion_auth->in_group('members')){
$this->load->view('admin/dashboard_view');
}else{
redirect('/', 'refresh');
}
这是我的登录表。
<?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();?>
您将需要重定向,而不是从登录加载视图。这意味着两个不同的控制器,一个用于管理
class Admin extends CI_Controller
{
public function dashboard()
{
$this->load->view('admin/dashboard_view');
}
}
另一个用于超级管理员
class Superadmin extends CI_Controller
{
public function dashboard()
{
$this->load->view('superadmin/dashboard_view');
}
}
和控制器Auth功能登录
if($this->ion_auth->is_admin()){
redirect('superadmin/dashboard');
}else if($this->ion_auth->in_group('members')){
redirect('admin/dashboard');
}else{
redirect('/', 'refresh');
}