簡體   English   中英

Laravel:使用javascript進行身份驗證

[英]Laravel : Auth check with javascript

我有以下用於url的代碼,如果url擁有了invited_by則在提供的頁面(如http://streamkar.dev/store/?invited_by=1的鏈接中顯示注冊彈出窗口,它基本上是顯示注冊彈出窗口。

$(document).ready(function(){
    var a = window.location.href.toString();
    var  b = a.split("invited_by=");
    if(typeof b[1] !=="undefined"){
        console.log(b[1]);
        $("#login-modal").modal('show');
        $(".signin").click();
    }
});

我想要的是我們如何檢查用戶身份驗證,即如果用戶已經登錄,則:

節目 :

http://streamkar.dev/store

代替 :

http://streamkar.dev/store/?invited_by=1

基本上,可以將邀請鏈接提供給某人,如果他/她已經登錄,則只顯示該頁面,如果沒有,則顯示彈出窗口進行注冊,然后重定向到url中的頁面,它基本上是邀請。

我怎么能做到這一點,我沒有提出一些合適的邏輯。

您可以嘗試以下類似方法,

controller ,檢查用戶登錄的AND查詢是否具有invited_by參數,如果是IF,則重定向到store ELSE呈現view

public function getIndex(Request $request)
{
    if (Auth::check() && $request->has('invited_by')) {
        return redirect('/store');
    } else {
        return view('path_to_view')
               ->with('userLogged', Auth::check());
    }
}

如果用戶未登錄,則在.blade文件中,呈現modal html。

@if (! $userLogged)
    <div id="login-modal"></div> //model html
@endif

javascript ,顯示modal ,如果DOM有ID的div login-modal

if(typeof b[1] !=="undefined" && $("#login-modal").length > 0){
    $("#login-modal").modal('show');
    $(".signin").click();
}

您需要做的是從控制器功能存儲中檢查用戶是否已通過身份驗證

if (Auth::check()) {
    return redirect()->to('store')
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM