2009-05-08 20 views

答えて

16

FormsAuthentication静的クラスのメソッドから読み取ることができます。これは、上位レベルのweb.configから認証設定を継承している可能性があるため、web.configを直接読み込むよりも優れています。

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

これは最高の回答ですが、Timeoutプロパティは.Net 4.0以降のFormsAuthentication静的クラス。 – 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

現在のプロジェクトのWeb.Configパスを取得するには、 'OpenWebConfiguration(" ")'の中に 'Request.ApplicationPath'とタイプします。 – Rahul

5

あなたにはweb.configファイルのtimeout値にアクセスすることができます:それは利用可能だとき、私は.NET 4.5を使用していますので、私にはわからない

FormsAuthentication.Timeout.TotalMinutes

。あなたはこの答えはあなたがすることができ、正しい

0

このコードは、現在のプロジェクトのWeb.configファイルに存在AuthenticationSectionセクションからあなたに

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(); 

を分単位でtimeoutを与える正しいとしてマークしてください。あなたのJavascriptから次のようにアクセスしてください:

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