wajans Ответов: 1

Нужен код для интеграции ADFS с приложением web form


Мне нужен пример кода для интеграции входа ADFS в мой компьютер. asp.net веб-форма приложения. ADFS уже настроена на моем сервере, и ссылка на метаданные доступна у нас.

Что я уже пробовал:

Я создал пример приложения webforms с нижеприведенным кодом в startup.cs:
private static string adfsRealm = ConfigurationManager.AppSettings["ida:Wtrealm"];
        private static string adfsMetadata = ConfigurationManager.AppSettings["ida:ADFSMetadata"];
        private static string adfsWreply = ConfigurationManager.AppSettings["ida:Wreply"];
public void Configuration(IAppBuilder app)
        {
            app.Properties["Microsoft.Owin.Security.Constants.DefaultSignInAsAuthenticationType"] = "ExternalCookie";
            app.UseCookieAuthentication(new Microsoft.Owin.Security.Cookies.CookieAuthenticationOptions
            {
                AuthenticationType = "ExternalCookie",
                AuthenticationMode = Microsoft.Owin.Security.AuthenticationMode.Passive
            });
            var testADFS = new WsFederationAuthenticationOptions
            {
                MetadataAddress = adfsMetadata,
                Wreply = adfsWreply,
                Wtrealm = adfsRealm
            };
            //add to pipeline
            app.UseWsFederationAuthentication(testADFS);
        }


и ниже код в состоянии дефолта.aspx-файл:
if (!Request.IsAuthenticated)

          {

              HttpContext.Current.GetOwinContext().Authentication.Challenge(new AuthenticationProperties { RedirectUri = "~/" },
              WsFederationAuthenticationDefaults.AuthenticationType);

          }


когда я запускаю приложение, оно перенаправляется на страницу входа в систему с приведенной ниже ошибкой, пожалуйста, дайте мне знать, в чем может быть проблема.:
An error occurred
An error occurred. Contact your administrator for more information.
Error details
Activity ID: a1f3f98b-4d35-4cf9-4600-00800100003a
Error time: Wed, 11 Sep 2019 05:50:48 GMT
Cookie: enabled
User agent string: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36

Dominic Burford

Какой код вы пробовали? Вы получаете ошибку? В сети есть множество примеров ADFS. Используйте один из них, чтобы начать работу, и когда вы застряли, напишите более конкретный вопрос.

wajans

Я много искал в интернете, но не нашел никакого кода для ADFS для веб-форм. Не могли бы вы, пожалуйста, направить меня или поделиться какой-либо ссылкой.

phil.o

Вторая ссылка в вашем вопросе (та, которую вы изменили) объясняет процесс аутентификации через ADFS. Пожалуйста, покажите, как вы пытались интегрировать его в свое решение (о котором мы ничего не знаем). Для этого не существует готового универсального решения, вы не найдете какого-то кода для копирования-вставки, который волшебным образом адаптируется к вашему проекту.

1 Ответов

Рейтинг:
2

Dominic Burford

Вот пара, которую я нашел во время поиска ADFS.

Пошаговый пример ADFS - wcf pandu[^]

Приложения С Поддержкой Утверждений | Microsoft Docs[^]


wajans

Привет Доминик,
Была проблема в конфигурации. Теперь я все исправил. Любой запрос, поступающий в мое приложение, перенаправляется на логин adfs, но после входа в систему его перенаправляют обратно на страницу default.aspx и выдают эту ошибку: "HTTP Error 405.0 - метод не разрешен".

Я обновление кода по умолчанию.aspx-файл, вместо "~/" в URI перенаправления, указанных в вопросе, я добавил redirecturi значение="по умолчанию.aspx-файл".

что может быть не так в коде? Пожалуйста помочь.