.NET Core перенаправить на контроллер в другом проекте под тем же решением - PullRequest
0 голосов
/ 25 сентября 2019

Можно ли перенаправить на другой проект в том же решении в .NET Core без использования абсолютного URL-адреса?

Я спрашиваю, потому что вижу так много веб-приложений, которые имеют billing.website.com, чтообслуживает только биллинговые функции и app.website.com, который содержит большую часть приложения.

Я нашел Как использовать контроллер в другой сборке в ASP.NET Core MVC 2.0? , но неясно, истек ли срок действия файлов cookie пользователей, где и как следуетЯ перенаправляю пользователя на?

Если у меня есть проект, который будет находиться под URL-адресом account.website.com, который обрабатывает аутентификацию, как мне установить его в файле Startup.cs?

services.ConfigureApplicationCookie(options =>
{
    // Cookie settings
    options.LoginPath = "accounts.website.com";
    options.AccessDeniedPath = Environment.GetEnvironmentVariable(AccessDeniedPath);
    options.SlidingExpiration = true;
});

1 Ответ

0 голосов
/ 25 сентября 2019

Это должен быть полный абсолютный URL-адрес, поскольку независимо от того, существуют ли проекты в одном и том же решении, во время работы они являются совершенно отдельными и различными веб-приложениями.Один из них не знает, как размещается другой, и действительно, они могут работать под любым IP-адресом, именем хоста, доменом, поддоменом и их портом.

Вы должны справиться с этим через config.Установите что-то вроде:

{
    "LoginURL": "https://accounts.website.com/login"
}

И тогда вы можете сделать:

services.ConfigureApplicationCookie(options =>
{
    options.LoginPath = Configuration["LoginURL"];
    ...
});

Затем вам просто нужно развернуть специфичные для среды JSON или переменные среды, чтобы переопределить это значение конфигурации для среды.Например, при разработке это может быть https://localhost:44301/login.

...