我正在尝试使用CI进行登录,基本上在用户登录后,他将根据用户类型角色重定向到页面admin/dashboard
或superadmin/dashboard
。我已经成功加载了视图,但是网址有问题。登录后,网站会根据用户的类型设置加载正确的视图,但网址仍然显示... / auth / login。我该如何改变?我希望网址说.../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();?>
答案 0 :(得分:1)
您需要重定向,而不是从登录中加载视图。这意味着两个不同的控制器,一个用于管理员
class Admin extends CI_Controller
{
public function dashboard()
{
$this->load->view('admin/dashboard_view');
}
}
另一个用于superadmin
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');
}