У меня есть сайт WebForms, который был запущен на внутреннем сервере и аутентифицировал пользователей против нашей внутренней Active Directory. Из-за некоторых новых функций, которые мы реализуем, этот сайт необходимо перенести на внешний сервер, а затем изменить аутентификацию, чтобы он аутентифицировал пользователей в отношении наших учетных записей Office 365. Для этого у меня есть:Аутентификация WebForms против Azure AD
- Создан новый сайт WebForms (не используя MVC)
- Настройка нового приложения в Azure.
Изменен Startup.Auth.cs следующим образом:
public void ConfigureAuth(IAppBuilder app) { app.CreatePerOwinContext(ApplicationDbContext.Create); app.CreatePerOwinContext<ApplicationUserManager>(ApplicationUserManager.Create); app.CreatePerOwinContext<ApplicationSignInManager>(ApplicationSignInManager.Create); app.UseCookieAuthentication(new CookieAuthenticationOptions { AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie, LoginPath = new PathString("/Account/Login"), Provider = new CookieAuthenticationProvider { OnValidateIdentity = SecurityStampValidator.OnValidateIdentity<ApplicationUserManager, ApplicationUser>( validateInterval: TimeSpan.FromMinutes(30), regenerateIdentity: (manager, user) => user.GenerateUserIdentityAsync(manager)) } }); app.UseExternalSignInCookie(DefaultAuthenticationTypes.ExternalCookie); app.UseOpenIdConnectAuthentication(new OpenIdConnectAuthenticationOptions { ClientId = "MyApplicationGUID", Authority = "https://login.windows.net/MyDomain.com" });
Когда я иду на страницу по умолчанию и нажмите кнопку Log On, он принимает меня к правильной странице входа и кнопка OpenID является показано на рисунке. Если я нажму кнопку, я перейду на страницу входа в Microsoft, где я могу ввести свои учетные данные. Однако в этот момент я перенаправлен на страницу входа на сайт, где он все еще запрашивает имя пользователя/пароль.
Что бы я хотел, чтобы установить сайт так, чтобы, если пользователь не прошел аутентификацию, они перенаправляются непосредственно на страницу входа в систему Microsoft и после успешного входа перенаправляются обратно на страницу, которую они запрашивали первоначально. В противном случае я был бы доволен тем, что страница входа в систему по умолчанию работает так, что когда я нажимаю OpenID, я не перенаправляюсь обратно на страницу входа.
У меня нет времени, чтобы узнать MVC в этот момент и передать все это, поэтому переход на этот маршрут в данный момент не является вариантом.
Я не знаю достаточно об этом процессе, поэтому, если мой вопрос не имеет смысла или вам нужна дополнительная информация, пожалуйста, дайте мне знать, и я буду рад попытаться найти то, что вам нужно, чтобы помочь мне в этом.
Спасибо. Это привело меня к тому, где я должен был быть. –