Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net FormsAuthentication.RedirectFromLoginPage不会将我返回到原始URL_Asp.net_Asp.net Mvc_Redirect_Openid_Forms Authentication - Fatal编程技术网

Asp.net FormsAuthentication.RedirectFromLoginPage不会将我返回到原始URL

Asp.net FormsAuthentication.RedirectFromLoginPage不会将我返回到原始URL,asp.net,asp.net-mvc,redirect,openid,forms-authentication,Asp.net,Asp.net Mvc,Redirect,Openid,Forms Authentication,我到达登录页面时,参数returnUrl设置为我所在的URL。然后,我通过OpenID DotNetOpenAuth登录,并调用FormsAuthentication.RedirectFromLoginPage。登录成功,但是我没有返回到原来的页面 我在注销时也遇到同样的问题-当我注销时,我不会停留在同一页面上,即使注销链接包含正确的returnUrl参数 我做错了什么 下面是代码片段。在调用RedirectFromLoginPage后,我返回EmptyResult,因为我真的不知道该做什么 这

我到达登录页面时,参数returnUrl设置为我所在的URL。然后,我通过OpenID DotNetOpenAuth登录,并调用FormsAuthentication.RedirectFromLoginPage。登录成功,但是我没有返回到原来的页面

我在注销时也遇到同样的问题-当我注销时,我不会停留在同一页面上,即使注销链接包含正确的returnUrl参数

我做错了什么

下面是代码片段。在调用RedirectFromLoginPage后,我返回EmptyResult,因为我真的不知道该做什么


这是一个偶然的机会,但我最近在登录重定向方面遇到了一些奇怪的情况,因为匿名用户没有权限访问我的脚本文件夹。这导致重定向URL指向jquery脚本,因为这是用户最后一次尝试访问但未成功的地址。

您有可以发布的代码吗?这可能会有帮助。另外,你被引导到哪一页?我怀疑/Home/Index,但请您确认。我确实被重定向到/Home/Index。我的站点中还没有javascript,我没有理由怀疑权限问题。我在VisualStudio2010 beta 2附带的内置web服务器中体验到了这一点。
using (var relayingParty = new OpenIdRelyingParty())
{
    var response = relayingParty.GetResponse();

    if (response == null)
    {
        // Stage 2: user submitting Identifier
        var openId = Request.Form["openId"];
        relayingParty.CreateRequest(openId).RedirectToProvider();

        throw new Exception("Never gets here");
    }

    // Stage 3: OpenID Provider sending assertion response
    switch (response.Status)
    {
        case AuthenticationStatus.Authenticated:
            var claimedIdentifier = response.ClaimedIdentifier;
            var user = _userRepository.FindByOpenId(claimedIdentifier);
            if (user != null)
            {
                // login
                FormsAuthentication.RedirectFromLoginPage(user.Id.ToString(), false);
                return new EmptyResult();

                // TODO - https://stackoverflow.com/questions/1991710/understanding-redirections-in-asp-net-mvc
                // throw new Exception("Should never get here");
            }
        ...