Я пытаюсь добавить ADFS-вход в веб-приложение ac # (это первый раз, поэтому я новичок в этой теме).
Кажется, что вход в систему работает нормально, ноУ меня проблема с выходом.Кажется, я сталкиваюсь с проблемой CORS, когда использую Authentication.SignOut ();
Доступ к XMLHttpRequest в 'adfsdomain ... / adfs / ls /? Wtrealm = xxx & wa = wsignout1.0' (перенаправлено из 'https://xxx/default.aspx') из источника' https://xxx' заблокировано политикой CORS: Ответ на предпечатный запрос не проходит проверку контроля доступа: отсутствует заголовок 'Access-Control-Allow-Origin'на запрошенном ресурсе.
Я сам не являюсь системным администратором, поэтому не знаю точных настроек на сервере adfs, но, возможно, ему нужно добавить еще несколько разрешений? Или ячто-то пропустил?
Спасибо.
Пример кода:
Startup.cs
private static string realm = ConfigurationManager.AppSettings["ida:Wtrealm"];
private static string adfsMetadata = ConfigurationManager.AppSettings["ida:ADFSMetadata"];
public void Configuration(IAppBuilder app)
{
app.UseWsFederationAuthentication(new WsFederationAuthenticationOptions
{
Wtrealm = realm,
MetadataAddress = adfsMetadata,
});}
Вход
protected void shADFSButton_Click(object sender, EventArgs e)
{
var properties = new AuthenticationProperties { RedirectUri = Request.QueryString.Get("ReturnUrl") };
Context.GetOwinContext().Authentication.Challenge(properties, WsFederationAuthenticationDefaults.AuthenticationType);
}
Выйти
protected void signOutButton_Click(object sender, EventArgs e)
{
Context.GetOwinContext().Authentication.SignOut();
}