3

我正在使用 Owin 管道并在 startup.auth.cs 中设置应用程序 cookie 间隔,如下所示 timeout=Convert.ToDouble(ConfigurationManager.AppSettings["SessionTimeOut"]);

           // Owin Middleware3 - Cookie Authentication Middleware

            app.UseCookieAuthentication(new CookieAuthenticationOptions
            {
                LoginPath = new PathString("/Account/Login"),
                AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
                ExpireTimeSpan = TimeSpan.FromMinutes(timeout),
                SlidingExpiration = true

                }
            });

当我在 web.config 中更改 SessionTimeout 的值时,我需要重新启动 IIS 以获取新值,因为仅第一次调用 startup.auth.cs。无论如何我可以在不重新启动 IIS 的情况下动态更改 cookie expiretimespan。我还使用 kento.authservices 进行单点登录,我在 startup.auth.cs 中配置。我还需要动态更改其中的配置值。请你帮忙。

4

1 回答 1

0

您可以保留一个引用并传递该引用,而不是将新对象 CookieAuthenticationOptions 传递给 UseCookieAuthentication 。然后,您可以在 ExpireTimeSpan 更改时设置它。

CookieAuthenticationOptions Co = new CookieAuthenticationOptions();

然后在值发生变化时在代码中设置 Co.ExpireTimeSpan。

于 2016-09-19T20:45:29.703 回答