Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如果用户未登录,是否重定向到登录页面?_Php_Redirect_Yii - Fatal编程技术网

Php 如果用户未登录,是否重定向到登录页面?

Php 如果用户未登录,是否重定向到登录页面?,php,redirect,yii,Php,Redirect,Yii,我在控制器类中使用beforeAction方法进行重定向。当我使用$this->redirect方法重定向到登录页面时,它不起作用 页面未正确重定向` public function beforeAction($action) { if (Yii::app()->user->isGuest) { $this->redirect(Yii::app()->createUrl('user/login/login')); r

我在控制器类中使用beforeAction方法进行重定向。当我使用$this->redirect方法重定向到登录页面时,它不起作用

页面未正确重定向`

public function beforeAction($action)
{
    if (Yii::app()->user->isGuest)
    {


        $this->redirect(Yii::app()->createUrl('user/login/login')); 

        return true;
    }
    else
    { 
        return true;
    }

    //something code right here if user valided
    return true;
}
试试这个

Yii::app()->user->returnUrl = Yii::app()->request->url;
$this->redirect($this->createUrl('/site/login'));
这里是main.php

<?php

请定义“不工作”它将重定向到登录页面。我想你必须在
/config/main.php
中更改用户模块的登录url。你能告诉我怎么做吗???我们将粘贴你的
/config/main.php
,以便进行检查。我想如果你添加一些对你的操作的解释,会对OP和其他访问者更有帮助intention.Yii::app()->user->returnUrl=Yii::app()->request->url这一行怎么样;我尝试了您的代码,但它不起作用。如果我在beforeAciton方法中的方法中放置了任何重定向,则重定向方法将停止工作。浏览器中只显示“页面未正确重定向”,另一方面,url是正确的。我可以知道您的登录页面url$this->redirect(Yii::app()->createUrl('user/login/login');
// preloading 'log' component
'preload'=>array('log'),

// autoloading model and component classes
'import'=>array(
    'application.models.*',
    'application.components.*',


    'application.modules.user.models.*',
    'application.modules.user.components.*',
    'application.modules.user.*',
),

'modules'=>array(
    // uncomment the following to enable the Gii tool

    'gii'=>array(
        'class'=>'system.gii.GiiModule',
        'password'=>'admin',
        // If removed, Gii defaults to localhost only. Edit carefully to taste.
        'ipFilters'=>array('127.0.0.1','::1'),
    ),
    'user',


),


//default theme

// application components
'components'=>array(
    'user'=>array(
        // enable cookie-based authentication
         'class' => 'WebUser',
         'allowAutoLogin'=>true,
         //'loginUrl'=>array('user/login'),
    ),
    'authManager' => array(
        'class' => 'CDbAuthManager',
        'connectionID' => 'db'
    ),



    // uncomment the following to enable URLs in path-format

    'urlManager'=>array(
        'urlFormat'=>'path',
        'rules'=>array(
            '<controller:\w+>/<id:\d+>'=>'<controller>/view',
            '<controller:\w+>/<action:\w+>/<id:\d+>'=>'<controller>/<action>',
            '<controller:\w+>/<action:\w+>'=>'<controller>/<action>',
        ),
    ),

    /*'db'=>array(
        'connectionString' => 'sqlite:'.dirname(__FILE__).'/../data/testdrive.db',
    ),*/
    // uncomment the following to use a MySQL database

    'db'=>array(
        'connectionString' => 'mysql:host=localhost;dbname=yiiems',
        'emulatePrepare' => true,
        'username' => 'root',
        'password' => '',
        'charset' => 'utf8',
    ),

    'errorHandler'=>array(
        // use 'site/error' action to display errors
        'errorAction'=>'site/error',
    ),
    'log'=>array(
        'class'=>'CLogRouter',
        'routes'=>array(
            array(
                'class'=>'CFileLogRoute',
                'levels'=>'error, warning',
            ),
            // uncomment the following to show log messages on web pages
            /*
            array(
                'class'=>'CWebLogRoute',
            ),
            */
        ),
    ),
),

// application-level parameters that can be accessed
// using Yii::app()->params['paramName']
'params'=>array(
    // this is used in contact page
    'adminEmail'=>'atinekd@ebizneeds.com',
),

'behaviors' => array(
        'onBeginRequest' => array(
                'class' => 'application.components.RequireLogin'
        )
),