2011-12-19 72 views
1

我嘗試使用LightOpenId爲我的網站登錄/註銷用戶。這工作正常,但我的問題是「我如何跟蹤用戶登錄/註銷狀態,並採取相應的行動」。使用LightOpenID登錄/註銷用戶狀態

我希望用戶只有在登錄後才能訪問我的網站功能,並且在用戶註銷時重定向到登錄頁面。

在此先感謝。

回答

6

你的問題實際上與OpenID無關。

OpenID是一種認證協議,這意味着它只會檢查用戶是否真的是他自稱的人 - 就像要求密碼檢查那樣。它與您的用戶登錄或註銷沒有任何關係。

爲了跟蹤您的用戶會話,您需要使用會話。例如,在驗證:

<?php 
if($openid->validate()) { 
    // User has logged in 
    $_SESSION['identity'] = $openid->identity; 
} 
?> 

然後,當你要檢查你的用戶是否登錄。(和他是誰):

<?php 
if(isset($_SESSION['identity'])) { 
    echo 'User is logged in as ' . $_SESSION['identity']; 
} else { 
    echo 'User isn\'t logged in'; 
} 
?> 

而完成的緣故註銷時:

<?php 
unset($_SESSION['identity']); 
session_destroy(); 
?> 

如果你不知道如何使用會話,你可以找到更多的信息in the manual

+1

嘿謝謝你的回覆。但我的問題是如何檢查用戶是否註銷了我的系統,以便我可以取消設置併爲他銷燬會話。有什麼方法可以檢查嗎? – user392406 2011-12-20 05:29:58

+0

當且僅當他沒有活動會話時,用戶纔會註銷(請參閱我的第二個代碼塊)。因此,您首先將他註銷(例如,當他點擊「註銷」鏈接時),銷燬會話,然後......他只是註銷。正如我所說的,OpenID與會話沒有任何關係,所以LightOpenID沒有這種方法。 – Mewp 2011-12-20 08:33:01