Laravel 5.2:Ajax登录不能在实时服务器上运行,但在localhost上工作正常。验证不在实时服务器上工作

时间:2017-03-29 15:32:28

标签: ajax authentication laravel-5 live

我正在laravel 5.2做一个项目 我有一个问题。

这是一个学校管理系统,管理员/教师/学生登录后可以看到他们的仪表板。

我创建了一个登录页面,其中提供了用户名和电子邮件,用户可以登录。

我有一个名为“systemusers”的网站用户自己的表。

登录在localhost上工作正常,但它无法在实时服务器上运行。

Auth无效,用户被重定向到登录页面

JQUERY CODE:

function loginForm(formID){

        //Empty validation errros
        $(".errors").html("");
        $(".failure").html("");

        //Form error flag
        var form_error  =       false;

        var form_id     =       document.getElementById(formID);
        var form_data   =       new FormData(form_id);

        $("#"+formID+" input").each(function(key,value){


            //Get ids
            var id   =   $(this).attr('id');
            if($.trim(this.value)    ==  '' )
           {
               $("."+id).html("Empty");
               form_error   =   true;
           }
            else{
                if( id  ==  'username' )
                {
                    var email   =   $("#username").val();
                    if( !isEmail(email) )
                    {
                        $("."+id).html("Email not Valid");
                        form_error = true;
                    }
                }
                else{
                    $("."+id).html("");
                }
            }
        });

        if( form_error  === false )
        {
            $("#login-btn").prop("disabled", true);
            //Run Ajax
            $.ajax({
                url:'loginFormSubmit',
                method:'POST',
                data:form_data,
                cache:false,
                contentType:false,
                processData:false,
                success:function(html)
                {
                    //alert(html);
                    if($.trim(html) == 'ERROR-PASS')
                    {
                        $(".failure").html("Ivalid Password");
                        $("#login-btn").prop("disabled", false);
                    }
                    else if($.trim(html) == 'ERROR-EMAIL')
                    {
                        $(".failure").html("Email not Registered");
                        $("#login-btn").prop("disabled", false);
                    }
                    else
                    {
                        //alert(html);
                        window.location.replace("schoolsys/dashboard/");
                    }
                }
            });

        }

        return false;
    }

登录控制器功能代码

public function postLoginUser()
    {
        //Get the email address posted via Ajax request.
        $ajax_email     =           $_POST["email"];
        $ajax_pass      =           $_POST["password"];

        //Check if the email is registered.
        $user          =           $this->systemuser->where("email", "=", $ajax_email)->first();

        //If email is matched
        if($user )
        {
            //Match the passwords
            if( Hash::check($ajax_pass, $user->password) )
            {
                $loggedIn   =   Auth::login($user);
                echo "LOGIN-SUCCESS";
            }
            else{
                echo "ERROR-PASS";
            }

        }
        else{
            echo "ERROR-EMAIL";
        }

控制板控制器功能:

public function index()
    {
        if(!Auth::check())
        {
            return redirect()->route("login")->withErrors(["Please Login First"]);
        }else{
            return view("Dashboard");
        }
    }

途径:

<?php

    //Dashboard Route
    Route::group(["middleware" => ["web", "auth"]], function(){
        Route::get("/dashboard",
            [
                "as"    =>  "dashboard",
                "uses"  =>  "DashboardController@index"
            ]);
    });

    //Login View Route
    Route::group(["middleware" => ["web"]], function(){
        Route::get("/login",
            [
                "as"    =>  "login",
                "uses"  =>  "ajaxLoginController@loginView"
            ]);

        //Ajax - Login Form
        Route::post('/loginFormSubmit', 'ajaxLoginController@postLoginUser');
    });



    //Post Login Form - Double check
    Route::post("/post-user-login",
        [
            "as"    =>  "postLogin",
            "uses"  =>  "DashboardController@doubleCheckpostLoginUser"
        ]);

    //Logout Route
    Route::get("/logout",
        [
            "as"    =>  "logout",
            "uses"  =>  "DashboardController@logout"
        ]);


    //Add Admin Route
    Route::get("/add-admin",
        [
            "as"    =>  "add-admin",
            "uses"  =>  "DashboardController@addAdmin"
        ]);


    //Ajax - Add Admin Form
    Route::post("/create-admin", "DashboardController@ajaxPostAdmin")


?>

0 个答案:

没有答案