クッキーにユーザー名を追加してログアウト時にクリアしようとしていますが、Request.IsAuthenticated
は常にtrueを返すので、メンバーであるかどうかを次のページで知ることができません。Request.IsAuthenticatedは常にtrueです。私は行方不明ですか?
public void Logout()
{
FormsAuthentication.SignOut();
Session.Abandon(); // trying everything...
}
protected void signin_submit_Click(object sender, EventArgs e)
{
//checklogins...
HttpCookie authCookie = FormsAuthentication.GetAuthCookie(username_top.Text, true);
}
を私はjavascript関数からのログアウトをクリックするんだ、と私はそのが呼び出されていることを確信しているので、それはデバッガを打つ:ここ
は私がしようとしているものです。
私はPage_Load
上の値をチェックしています:
protected void Page_Load(object sender, EventArgs e)
{
bool isAuth = Request.IsAuthenticated; // always true !!!
if (isAuth)
{
registeredDiv.Visible = true;
guestDiv.Visible = false;
}
}
私は何をしないのですか?ユーザーがログインしているかどうかはどのように知ることができますか?
編集:私はauthenticationMode
がweb.configのWindowsに設定されていることを知りました。
は、としてそれを編集:
<authentication mode="Forms">
しかし、今では常にfalseを返します。私は同じページにログインした後にリダイレクトしようとしましたが、まだ動作しませんでした。何か案は?
Iをやっているだろう、それを整理しグラッドまた、Response.Redirect( "http:// localhost:36011/cartoon/default.aspx"); Cookieをクリアするのと同じページにリダイレクトされます。十分ではありませんか? – Pabuc
レスポンスにクッキーを追加するのを忘れました:) $ hit happen :) – Pabuc
デバッグされたCookieに関連する問題が発生したときにFiddlerを使用しました –