У меня есть веб-приложение ASP.NET MVC, которое использует ADFS для входа в систему.Ниже приводится выдержка из файла Startup.Auth.cs:
private static readonly string realm = ConfigurationManager.AppSettings["ida:Wtrealm"];
private static readonly string adfsMetadata = ConfigurationManager.AppSettings["ida:ADFSMetadata"];
public void ConfigureAuth(IAppBuilder app)
{
app.SetDefaultSignInAsAuthenticationType(CookieAuthenticationDefaults.AuthenticationType);
app.UseCookieAuthentication(new CookieAuthenticationOptions());
app.UseWsFederationAuthentication(
new WsFederationAuthenticationOptions
{
Wtrealm = Startup.realm,
MetadataAddress = Startup.adfsMetadata,
});
}
Мои знания ADFS несколько ограничены, но я понимаю, что значение Wtrealm , которое я передал выше, используетсясервер ADFS для идентификации моего приложения.
Однако веб-приложение существует в нескольких средах: Dev, QA и PROD.Одна и та же группа людей должна иметь доступ как к среде DEV, так и к среде QA, и поэтому в идеале я хотел бы использовать одну и ту же настройку ADFS для этих сред.
Возможно ли это / рекомендуется?Если так, то какой подход лучше (я не уверен, что любой из них вообще возможен)
- Вместо того, чтобы Wtrealm был URL (который привязан к приложению в конкретной среде), можетэто будет уникальный строковый токен, который идентифицирует приложение, где когда-либо?Это конкретное значение будет затем передаваться приложением в среде DEV или QA.
- В качестве альтернативы, можно ли настроить ADFS так, чтобы для одного веб-приложения он распознавал несколько значений Wtrealm?Наше веб-приложение в DEV и QA может затем передать их URL-адреса, относящиеся к среде, и нашему ИТ-отделу необходимо настроить его только один раз на сервере ADFS.