【问题标题】:Redirect from controller to external url using basic authentication使用基本身份验证从控制器重定向到外部 url
【发布时间】:2014-03-28 18:28:51
【问题描述】:

我在 ASP.NET MVC3 中有一个门户,在某些特定操作中,我需要在新选项卡中打开一个外部门户,该门户由其他团队开发,需要基本身份验证。

我知道我们在控制器中有允许重定向到任何 URL 的重定向方法。但我不知道如何将凭据传递给它。

我正在尝试这样的事情:

var request = (HttpWebRequest)WebRequest.Create(redirectUrl);

request.Method = "GET";
request.UseDefaultCredentials = false;
request.PreAuthenticate = true;

var cred = new NetworkCredential("user1", "pass123");
var cache = new CredentialCache();
cache.Add(new Uri(redirectUrl), "Basic", cred);

request.Credentials = cache;
var response = (HttpWebResponse) request.GetResponse();

return Redirect(response.ResponseUri.ToString());

【问题讨论】:

    标签: c# asp.net-mvc authentication redirect


    【解决方案1】:

    有两种方法可以从浏览器获取凭据到服务器。它们可以进入 URL,也可以进入授权标头。 URL 方法很容易实现,参见this SF question。对于授权标头,Wikipedia 有关于 how to construct it 的说明,但我不确定如何将其发送给页面请求(而不是可能的 Ajax 请求)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-06-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-31
      • 2014-05-26
      • 1970-01-01
      • 2017-08-30
      • 1970-01-01
      相关资源
      最近更新 更多