c# - 动态更改 Owin 配置值

标签 c# asp.net-mvc-4 cookies owin owin-middleware

我正在使用 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。我还在 startup.auth.cs 中配置的地方使用 kento.authservices 进行单点登录。我还需要动态更改其中的配置值。请你帮忙解决这个问题。

最佳答案

与其将新对象 CookieAuthenticationOptions 传递给 UseCookieAuthentication,不如保留一个引用并传递该引用。这样您就可以在它更改时设置 ExpireTimeSpan。

CookieAuthenticationOptions Co = new CookieAuthenticationOptions();

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

关于c# - 动态更改 Owin 配置值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39532093/

相关文章:

c# - Multi-Tenancy 应用程序中的IdentityRole

c# - 将两个 lambda 与表达式相乘

asp.net-mvc-4 - 尚未启用角色管理器功能。 MVC 4

razor - 数据绑定(bind) MVC-4 到 Knockout.js foreach

ruby-on-rails - rails 3 : Can't seem to write cookies for top level domain :(

google-chrome - SameSite cookie、框架、子域和重定向

c# - Azure 持久功能 "Not Found"

c# - EF Core 更改跟踪器不会增加 DbSet.Add() 上的 ID

asp.net-mvc - 在 View 和局部 View 之间共享模型

node.js - 在 Express 中, session Cookie 过期太早