OWIN,Session继续进行子应用程序

时间:2015-09-15 11:00:03

标签: asp.net angularjs asp.net-mvc session

我正在研究ASP.Net MVC应用程序中托管的一对角度应用程序。在登台环境中,站点作为子应用程序托管:

  • some.domain.com/app_one
  • some.domain.com/app_two

问题在于一个会话可用于另一个会话。但由于它们对用户数据使用不同的结构,因此另一个应用程序识别可用的会话,但不识别其中的数据。

这两个应用程序为不同的用户群提供不同的功能,并且通常应该阻止另一个用户。由于会话是共享的,尽管一个用户可以登录并获得一个身份验证令牌,然后在请求中将其提供给另一个认为令牌有效的人。我们希望会议是独立的并且彼此分开。

我们同时使用OAuthBearerAuthenticationCookieAuthentication

到目前为止,我已尝试为OAuthBearerAuthenticationOptions设置不同的域,但这并未解决问题。

这是我们在OWIN配置中使用的代码:

public void ConfigureAuth(IAppBuilder app)
{
    OAuthBearerOptions = new OAuthBearerAuthenticationOptions
    {
        Realm = "app_one"
    };
    app.UseOAuthBearerAuthentication(OAuthBearerOptions);

    app.UseCookieAuthentication(new CookieAuthenticationOptions
    {
        AuthenticationType = DefaultAuthenticationTypes.ExternalBearer,
        CookieName = "app_one",
        LoginPath = new PathString("/#/login")
    });

    app.UseExternalSignInCookie(DefaultAuthenticationTypes.ExternalBearer);
}

我们还使用本地存储来存储身份验证令牌。子应用程序之间也可以使用本地存储。在确定要使用哪个本地存储时,是否可以在域中包含文件夹部分?

非常感谢任何帮助!

0 个答案:

没有答案