2017-04-04 118 views
0

所以我有一個名爲「登陸」網站事件處理程序:更改網站的默認內容,如果網站被重定向

function _GetLoginEventHandler(req, res) { 
    var answer = _getHTMLSkeleton(); 

    var dynamicAnswer; 
    if (isLogedIn == false) { 
     dynamicAnswer = "<h1>Login</h1>" + //creates a form for not logged users 
      "<form action='/login' method='post'>" + 
      "User name: <br>" + 
      '<input type="text" name="username" value="MickeyMouse">' + 
      "<br>" + 
      "Password: <br>" + 
      '<input type="password" name="password" value="geheim">' + 
      "<br><br>" + 
      '<input type="submit" value="Submit">' + 
      "</form> "; 
     answer = answer.replace('{title}', "Login"); 
     answer = answer.replace("{body}", dynamicAnswer); 
     res.write(answer); 
     res.end(); 
    } 
    else { 
     res.writeHead(302, { //if the user is loged it, it redirects to his "profile" 
      'Location': '/user' 
     }); 
     res.end(); 
    }  
}; 

如果用戶已經登錄,它重定向他到一個名爲頁面「用戶」,這是我的情況下,他的個人資料:

function _GetUserEventHandler(req, res) { 
    var answer = _getHTMLSkeleton(); 

    var dynamicAnswer; 
    if (isLogedIn == true) { 
     dynamicAnswer = "<h1>Logg Off</h1>" + 
      "<p>Your user id is: " + uID + "</p>" + 
      "<form action='/user' method='post'>" + 
      '<input type="submit" value="Submit">' + "</form>"; 
    } 
    else 
     dynamicAnswer = "<h4>You are not allowed to see this content, you are not loged in </h4>"; 

    answer = answer.replace('{title}', "User"); 
    answer = answer.replace("{body}", dynamicAnswer); 
    res.write(answer); 
    res.end(); 
} 

我要檢查,如果主站點從重定向(在這種情況下)的登錄頁面,所以我可以添加到「答案」,例如「你是成功登錄「。 PS:本_getHTMLSkeleton返回一個HTML頁面的佔位符

回答

-1

所有制結構您可以檢查是否在您的應用程序引用頭是你的登錄表單:

req.headers.referer 

如果您的應用程序設置引用值(檢查起源。

或嘗試設置標題:

res.setHeader('fromLoginPage', 'true'); 

重定向用戶,後來檢查前:

req.headers.fromLoginPage == true 
+0

兩者都不起作用。我總是不確定.. – igodie