8

I'm adding a logout expiration alert to my application and would like to access my web.config forms authentication "timeout" value from my code. Any way i could do this?

6 Answers 6

20

I think you can read it from the FormsAuthentication static class methods, which would be better than doing it by reading the web.config directly as you may be inheriting authentication settings from a higher level web.config.

var authTicket = new FormsAuthenticationTicket(user.EmailAddress, true, (int)FormsAuthentication.Timeout.TotalMinutes);
Sign up to request clarification or add additional context in comments.

1 Comment

This is the best answer, but the Timeout property is only available on the FormsAuthentication static class in .Net 4.0 and higher.
8

You can access the web.config's timeout value in:

FormsAuthentication.Timeout.TotalMinutes

I don't know since when it's available, I'm using .NET 4.5.

Comments

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

1 Comment

To get your current project's Web.Config path, type Request.ApplicationPath inside OpenWebConfiguration("")
1

You can access it from your Javascript using the following:

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

Comments

0

You can parse it directly from the web.config file.

Comments

0

This Code will give you timeout in minutes from AuthenticationSection section present in your current project's Web.Config file,

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

Please mark it as correct if you found this answer is correct

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.