2009-05-08 12 views

Odpowiedz

16

Myślę, że można go odczytać za pomocą metod klasy statycznej FormsAuthentication, co byłoby lepsze niż wykonanie tej operacji przez bezpośrednie przeczytanie pliku web.config, ponieważ może on dziedziczyć ustawienia uwierzytelniania z poziomu wyższego poziomu web.config.

var authTicket = new FormsAuthenticationTicket(user.EmailAddress, true, (int)FormsAuthentication.Timeout.TotalMinutes); 
+3

To jest najlepsza odpowiedź, ale właściwość Limit czasu jest dostępna tylko w FormsAuthentication klasa statyczna w .Net 4.0 i wyższych. – ChrisW

4
Configuration conn = WebConfigurationManager.OpenWebConfiguration(""); 

      AuthenticationSection section = (AuthenticationSection)conn.SectionGroups.Get("system.web").Sections.Get("authentication"); 



      long cookieExpires = System.Convert.ToInt64(section.Forms.Timeout.TotalMinutes); 
+0

Aby uzyskać ścieżkę Web.Config bieżącego projektu, wpisz 'Request.ApplicationPath' wewnątrz' OpenWebConfiguration ("") ' – Rahul

5

można uzyskać dostęp do pliku web.config za timeout wartość w:

FormsAuthentication.Timeout.TotalMinutes

Nie wiem od kiedy jest ona dostępna, Używam .NET 4.5.

0

Ten kod daje timeout w ciągu kilku minut od AuthenticationSection sekcja obecne w pliku web.config bieżącym projekcie, w

Configuration conn = WebConfigurationManager.OpenWebConfiguration(Request.ApplicationPath); 
AuthenticationSection section = (AuthenticationSection)conn.SectionGroups.Get("system.web").Sections.Get("authentication"); 
FormsAuthenticationConfiguration currentForms = section.Forms; 
int timeout = currentForms.Timeout.Minutes; 
txtAppSessionTimeout.Text = timeout.ToString(); 

proszę zaznaczyć to jako poprawne, jeśli uznało tę odpowiedź jest poprawna

1

Można uzyskaj dostęp do kodu JavaScript za pomocą następującego:

var expireTime = <%= FormsAuthentication.Timeout.TotalMinutes %>;