我在一個web應用程序使用成員資格提供來實現認證和用戶/應用的部分角色的訪問工作。ASP.NET LoginStatus:註銷不工作
我用我的母版頁或註銷鏈接LoginStatus
控制,但它的測試我發現,註銷不起作用。如果我再次嘗試訪問我的應用程序的任何頁面(後洛出)的頁面顯示...
我想這個問題取決於不會自動清除存儲在用戶會話數據。那就對了?
因此,這是實現註銷,明確會議的corect方式?
注意 我不落實的LoginStatus
控制的任何事件。我正在使用表單身份驗證。在我的登錄頁面,我使用此代碼:
FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(
1, // Ticket version
this.txtUser.Text, // Username associated with ticket
DateTime.Now, // Date/time issued
DateTime.Now.AddMinutes(30), // Date/time to expire
true, // "true" for a persistent user cookie
ruolo, // User-data, in this case the roles
FormsAuthentication.FormsCookiePath);
string hash = FormsAuthentication.Encrypt(ticket);
HttpCookie cookie = new HttpCookie(
FormsAuthentication.FormsCookieName,
hash);
if (ticket.IsPersistent) { cookie.Expires = ticket.Expiration; }
Response.Cookies.Add(cookie);
在我的web.configsystem.web
部分:
<authentication mode="Forms">
<forms name=".ASPXAUTH" loginUrl="login.aspx" protection="All" path="/" domain="keyforup.it"/>
</authentication>
<authorization>
<deny users="?"/>
</authorization>
我有這樣的事情之前,我發現是問題了'SessionID'保持因無效的IIS設置更改,請確保您打印出'SessionID'頁面,以確保其不會改變。 – Qpirate 2013-02-27 09:09:08
「如果我嘗試再次訪問我的應用程序的任何頁面(後洛出)的頁面顯示」 - 你有在web.config中,以防止頁面的任何東西顯示給未授權的用戶 - 例如拒絕用戶=「?」在web.config中 – Joe 2013-02-27 09:33:31
的System.Web程序/授權部@Joe是的......我編輯我的問題 – davioooh 2013-02-27 09:44:34