我正在研究ASP.Net MVC应用程序中托管的一对角度应用程序。在登台环境中,站点作为子应用程序托管:
问题在于一个会话可用于另一个会话。但由于它们对用户数据使用不同的结构,因此另一个应用程序识别可用的会话,但不识别其中的数据。
这两个应用程序为不同的用户群提供不同的功能,并且通常应该阻止另一个用户。由于会话是共享的,尽管一个用户可以登录并获得一个身份验证令牌,然后在请求中将其提供给另一个认为令牌有效的人。我们希望会议是独立的并且彼此分开。
我们同时使用OAuthBearerAuthentication
和CookieAuthentication
。
到目前为止,我已尝试为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);
}
我们还使用本地存储来存储身份验证令牌。子应用程序之间也可以使用本地存储。在确定要使用哪个本地存储时,是否可以在域中包含文件夹部分?
非常感谢任何帮助!