1

我是 owin、OAuth、OpenID 连接术语的新手。我正在尝试尽可能多地学习。我使用旧版 .net Web 表单应用程序。我有 2 个网络表单应用程序。App_1 更像是仪表板/登陆页面应用程序。App_2 是具有所有功能的主应用程序。我只使用身份服务器 4 进行身份验证(不要问我为什么)。这是流程: 1) 用户使用 IS4 登录并登陆 App_1。2) 授权和业务逻辑所需的所有元数据都存储在 app_1 页面加载中的会话对象中 3) 用户然后转到 app_2。它从会话对象中检索所需的数据

以前没有 IS4 身份验证。它正在使用表单身份验证,并且会话概念运行良好。我只是将身份验证更改为 IS4,然后会话对象变为空。

我尝试了互联网上建议的各种解决方案。它没有用。我在 app_1 startup.cs 中添加了这个,但仍然失败。

        app.Use((context, next) =>
        {
            var httpContext = context.Get<HttpContextBase>(typeof(HttpContextBase).FullName);
            httpContext.SetSessionStateBehavior(SessionStateBehavior.Required);
            return next();
        });

        app.UseCookieAuthentication(new CookieAuthenticationOptions()
        {
            AuthenticationType = "Cookies",
            ExpireTimeSpan = TimeSpan.FromMinutes(10),
            CookieName="MyWebApp",
            SlidingExpiration = true
        });

注意:我在两个 Web 应用程序的 web.config 中也有相同的机器密钥。

谁能告诉我如何在这两个网络应用程序之间携带会话对象?

4

0 回答 0