Form kimlik Doğrulaması zaman Aşımı vs Oturum zaman Aşımı
ASP.NET benim web yapılandırma aşağıdaki ile asp.net form kimlik doğrulaması kullanıyorum
<authentication mode="Forms">
<forms loginUrl="~/Pages/Common/Login.aspx"
defaultUrl="~/Pages/index.aspx"
protection="All"
timeout="30"
name="MyAuthCookie"
path="/"
requireSSL="false"
cookieless="UseDeviceProfile"
enableCrossAppRedirects="false" >
</forms>
</authentication>
Aşağıdaki soruları var
İçinde son kullanma sürgülü kullanıyorum çünkü oturum zaman aşımı değeri ne olması gerektiğini form kimlik doğrulaması önce sona erecek olan authention nedeniyle form. Onu nasıl koruyabilirim?
Formauthentication günlük sonra da çıkış sayfasına yönlendirmek istiyorum.ama otomatik olarak loginpage beni yönlendirmek olduğunu SEO.SEO. Bu nasıl mümkün olabilir?
CEVAP
- Güvenli tarafta olmak için: zaman Aşımı(Oturum) <= zaman Aşımı(FormsAuthentication) * 2
- Eğer sayfa kimlik doğrulaması zaman aşımı sonra loginUrl özniteliğinde belirtilen dışında göstermek istiyorsanız ASP.NET bunu yapmanın bir yol sağlamaz gibi bu el ile işlemek gerekir.
#2 elde etmek için el ile cookie kontrol edebilirsiniz ve bir süre için onun AuthenticationTicket ve eğer süresi varsa özel sayfanıza yönlendirin.
Olaylardan biri olarak bunu yapabilirsiniz: AcquireRequestState, AuthenticateRequest.
Olay örnek kod gibi görünebilir:
// Retrieve AuthenticationCookie
var cookie = Request.Cookies[FormsAuthentication.FormsCookieName];
if (cookie == null) return;
FormsAuthenticationTicket ticket = null;
try {
ticket = FormsAuthentication.Decrypt(cookie.Value);
} catch (Exception decryptError) {
// Handle properly
}
if (ticket == null) return; // Not authorised
if (ticket.Expiration > DateTime.Now) {
Response.Redirect("SessionExpiredPage.aspx"); // Or do other stuff here
}
Form kimlik doğrulaması zaman aşımı vs...
ASP.NET oturum zaman aşımı...
varsayılan oturum Apache Tomcat uygula...
Web.xml oturum zaman Aşımı...
Nasıl Grails uygulama için bir oturum ...