我正在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项目如何使用联合身份验证,它不知道登录后应执行的操作或控制器,因为未进行任何配置。

成功登录后如何更改或配置控制器去?

  ask by Juan Pinzón translate from so

本文未有回复,本站智能推荐:

1回复

使用AD FS和OWIN的SSO如何创建帐户和处理权限

我配置了一个使用AD FS的Web App,为此我使用了OWIN。 对于登录,一切都好。 如果我是域名的用户并访问该网站,则会自动连接。 但我想要的是在登录后自己处理用户和角色。 所以我想用这个AD帐户检查我的数据库中是否存在用户(此过程将在另一个应用程序登录之前生成)
1回复

WS-FED身份验证(ADFS)和ASP.NET身份UserManager

如果我使用一些错误或模糊的术语,我会道歉。 如果我这样做, 请纠正我。 我有一个相当新的ASP.NET 4.6 MVC 5应用程序,它通过WsFederation和Microsoft ADFS服务器使用声明身份验证。 这意味着我不公开LogIn操作控制器,也不管理webapp中的用户和
2回复

如何在ASP.NET MVC中实现单一登录(ADFS)

仅供参考:请参阅更新12-FEB-2019 我创建了一个ASP.NET MVC应用程序(使用Visual Studio),并尝试使用Active Directory联合服务器来使其处理SSO。 请注意,这不是使用Azure。 因此,第一步有效-我导航到我的登录页面,并且有一个按钮允
1回复

带有ADFS服务器的Azure ACS

我们有一个场景,其中有一个可以从我们的组织访问的应用程序,也可以从外部组织访问的应用程序。 我们将以天蓝色托管此Web应用程序。 我正在将MVC 5与Owin WSFederation中间件一起使用。 我可以连接到我的本地ADFS服务器,它可以按预期工作。 当我使用ACS作为主要S
1回复

公共网络上的 ADFS 身份验证

我对网络不太了解,所以我可能无法很好地解释这一点。 我正在开发一个应用程序,该应用程序具有 WS-Federation 设置以使用 ADFS 对用户进行身份验证。 当应用程序在本地网络上测试时,它工作正常并且 ADFS 对用户进行身份验证。 但是,当应用程序发布到对公众开放的网站时,它就不起作用了
1回复

在某些计算机上的ADFS身份验证循环

我有一些针对ADFS进行身份验证的MVC网站。 一些用户面临输入凭据后陷入循环的问题。 然后,我记录此事件: 我尝试清理浏览器缓存,但从未成功。 我可以使用PC上的任何用户凭据登录,但是当某些用户尝试在PC上登录时会收到错误消息。 在所有浏览器中,具有所有用户凭据。 因
1回复

ADFS 3.0依赖方令牌签名证书

使用VS2017,我创建了一个新的MVC应用程序。 使用本地ADFS服务器将身份验证设置为工作/学校帐户。 VS向导询问我输入的ADFS元数据和依赖方的URL信息。 在ADFS端,我配置了WS-Federation信任。 该应用程序正在身份验证/正常工作。 引用此博客... Meg
1回复

使用WSFederationAuthenticationModule时,会话到期后如何正确处理注销请求?

我正在使用WSFederationAuthenticationModule进行身份验证。 当用户未通过身份验证时,它将相应地将其重定向到ADFS Web代理。 ADFS cookie的持续时间比应用程序会话的时间长,因此有时它们会直接循环回到应用程序中。 几乎每次这都是我想要的,用户尝