Я выполняю федеративную аутентификацию в приложении ASP.NET MVC, для которого я использую следующий код конфигурации
public class Startup
{
public void Configuration(IAppBuilder app)
{
// Para obtener más información sobre cómo configurar la aplicación, visite https://go.microsoft.com/fwlink/?LinkID=316888
ConfigureAuth(app);
}
public void ConfigureAuth(IAppBuilder app)
{
app.UseCookieAuthentication(
new CookieAuthenticationOptions
{
AuthenticationType = CookieAuthenticationDefaults.AuthenticationType
});
app.UseWsFederationAuthentication(
new WsFederationAuthenticationOptions
{
MetadataAddress = "https://example.com/FederationMetadata/2007-06/FederationMetadata.xml",
Wtrealm = "https://example.com/appId",
});
app.SetDefaultSignInAsAuthenticationType(CookieAuthenticationDefaults.AuthenticationType);
}
}
AccountController
public class AccountController : Controller
{
public void SignIn()
{
if (!Request.IsAuthenticated)
{
HttpContext.GetOwinContext().Authentication.Challenge(new AuthenticationProperties { RedirectUri = "/" },
WsFederationAuthenticationDefaults.AuthenticationType);
}
}
public void SignOut()
{
string callbackUrl = Url.Action("SignOutCallback", "Account", routeValues: null, protocol: Request.Url.Scheme);
HttpContext.GetOwinContext().Authentication.SignOut(
new AuthenticationProperties { RedirectUri = callbackUrl },
WsFederationAuthenticationDefaults.AuthenticationType, CookieAuthenticationDefaults.AuthenticationType);
}
public ActionResult SignOutCallback()
{
if (Request.IsAuthenticated)
{
// Redirigir a la página principal si el usuario está autenticado.
return RedirectToAction("Index", "Inicio");
}
return View();
}
}
Вход выполнен успешно, но,я хочу сделать, чтобы в момент входа в систему перейти на другой контроллер, например: Home / Main.
Проблема в том, что я не понимаю, как проект mvc работает с федеративной аутентификацией,как он узнает, к какому действию или контроллеру он должен приступить после входа в систему, поскольку его конфигурация не выполнена.
Как изменить или настроить контроллер для перехода после успешного входа в систему?