繁体   English   中英

在 codeigniter 中使用 tank auth 时无法重定向到 auth controller 的登录方法

[英]Cannot redirect to login method of auth controller when using tank auth in codeigniter

我在 codeigniter 中使用 tank auth,我有这样的文件夹结构,当我将它放在 Admin 文件夹之外时,它可以正常工作,但是当我将它放在 admin 文件夹中时,我得到 404 Page not found:

Controller:

-

管理文件夹

 Auth.php Admin.php

认证 controller:

function index()
    {  
        if ($message = $this->session->flashdata('message')) {
            $this->load->view('auth/general_message', array('message' => $message));
        } else { 
            redirect('/auth/login/');

        }
    }
    /**
     * Login user on the site
     *
     * @return void
     */
    function login()
    {  
        if ($this->tank_auth->is_logged_in()) {                                 // logged in
            redirect('');

        } elseif ($this->tank_auth->is_logged_in(FALSE)) {                      // logged in, not activated
            redirect('/auth/send_again/');

        } else {  .....

我给了这样的路线:

$route['admin'] = 'Admin/auth';

codeigniter 中的重定向语句使用重定向 header 语句将用户发送到指定的 web 页面。

Load URL helper in controller or model or you can load in config/autoload.php for global access, which is loaded in the following way:

在 controller 或 Model 中像这样:

$this->load->helper('url') ;

如果您不想加载 controller 或 model 则加载config/autoload.php

$autoload['helper'] = array('url');

并像这样调用重定向 function :

redirect('/auth/login', '刷新');

在 controller 添加这个 $this->load->helper('url');

如果您的 Auth controller 路径是 Controller/Admin/Auth 然后使用

redirect('admin/auth/login', 'refresh');

如果是 Controller/Auth 则使用

redirect('auth/login', 'refresh');

在这两种情况下,您都需要加载 url 助手。 我建议你在 codeigniter 项目中自动加载 url 助手。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM