OWIN Использовать проверку подлинности с помощью форм и проверку подлинности WSFederated через ADFS

Я пытаюсь реализовать это решение, в котором внутренние пользователи организации будут входить в систему через форму входа (но использовать учетные данные Windows), которые отправляют в ADFS и получают претензии. Также разрешите внешних пользователей (которые созданы в бэкэнде и вставлены в базу данных sql server), чья информация содержит те же утверждения, что и из ADFS. Вид систем с несколькими поставщиками входа, как показано ниже, когда я ввожу имя пользователя и пароль слева, он проверяется на SQL Server, но щелчок по окнам перенаправляет на вход в adfs. Множественный вход

Прямо сейчас я получил код, как показано ниже, но по умолчанию он пытается перенаправить на URL-адрес adfs, чем показывает экран входа в систему.

[assembly: OwinStartup(typeof(App_Start.Startup))]
namespace App_Start
{
    public class Startup
    {
        public void Configuration(IAppBuilder app)
        {

            app.UseCookieAuthentication(new CookieAuthenticationOptions
            {
                //interactive logon process
                AuthenticationMode = Microsoft.Owin.Security.AuthenticationMode.Active,
                //name of the authentication type
                AuthenticationType = CookieAuthenticationDefaults.AuthenticationType,
                //Login path should be below
                LoginPath = new PathString("/Home/Login"),
                //TODO: Enable this to always send and receive cookies in SSL when in production
                CookieSecure = CookieSecureOption.Always,
                //enable sliding expiration
                SlidingExpiration = true,
                //Cookie expires in 4 hours
                ExpireTimeSpan = TimeSpan.FromTicks(DateTime.Now.AddHours(4).Ticks)
            });


            app.UseWsFederationAuthentication(new WsFederationAuthenticationOptions
             {
                 MetadataAddress = ConfigurationManager.AppSettings["federationUri"],
                 Wtrealm = ConfigurationManager.AppSettings["realm"]
             });

            //This will set ADFS as the default authentication provider 
            app.SetDefaultSignInAsAuthenticationType(CookieAuthenticationDefaults.AuthenticationType);
        }
    }
}

person Deeptechtons    schedule 01.12.2016    source источник
comment
Это не сработает, вы не можете использовать пассивный профиль ADFS для публикации имени пользователя / pwd и ожидать, что он не будет отображать страницу входа.   -  person Wiktor Zychla    schedule 01.12.2016
comment
@WiktorZychla благодарит за ответ. Могу ли я сделать то, что указано?   -  person Deeptechtons    schedule 01.12.2016
comment
Существует, вручную stackoverflow.com/questions/10981065/   -  person Wiktor Zychla    schedule 01.12.2016