我有一个使用多个网址为同一应用程序的网页:多和子站点在asp.net核心身份饼干
例如: * .MyWebPage.com.au * .YourWebPage.com.au
所以它会在多个URL上使用子域名。问题是我需要允许用户在他们登录到的url的所有子域上进行身份验证。
例如,如果他们通过www.mywebpage.com.au登录,cookie需要设置为* .mywebpage.com.au,或者如果他们通过www.yourwebpage.com.au登录,cookie应该是*。 yourwebpage.com.au。
大多数文件中允许ASP.NET核心身份分子域的startup.cs(或startup.auth.cs)文件,并进入这样的:`
app.UseCookieAuthentication(new CookieAuthenticationOptions()
{
CookieDomain = "mywebpage.com.au"
});`
这是不行的对于我来说,因为我不想要一个固定的域名,我只想让所有用户都可以访问他们已登录的网址的所有子域名。我明显可以在登录时通过请求获取它们的URL,但是我需要在此时动态设置cookiedomain。
我不是绝对肯定的;但是,对于这种情况 - 我几乎肯定您必须从中派生出来,或者创建自己的Cookie中间件。 – Svek
使用SaasKit来允许多租户ASP.NET Core管道的想法可能是一种可行的解决方案http://benfoster.io/blog/aspnet-core-multi-tenant-middleware-pipelines – Svek