动态更改Owin配置值

本文关键字:配置 Owin 动态 | 更新日期: 2023-09-27 18:07:18

我使用Owin管道,并在startup.auth.cs中设置应用程序cookie间隔如下超时= 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中SessionTimeout的值时。配置I需要重新启动IIS以获取新值,因为startup.auth.cs只在第一次调用。无论如何,我可以动态地改变cookie的过期时间跨度,而不重新启动IIS。我也在用剑道。我在startup.auth.cs中配置的单点登录的authservices。我还需要动态地更改其中的配置值。

动态更改Owin配置值

与其将一个新的对象CookieAuthenticationOptions传递给UseCookieAuthentication,不如保留一个引用并传递该引用。这样你就可以在ExpireTimeSpan发生变化时设置它。

CookieAuthenticationOptions Co = new CookieAuthenticationOptions();

当值改变时,在代码中设置Co.ExpireTimeSpan