【问题标题】:Redirect to another site with Authorization headers in ASP. Net使用 ASP 中的授权标头重定向到另一个站点。网
【发布时间】:2019-01-15 10:40:05
【问题描述】:

我正在编写一个简单的 ASP.Net 应用程序(Web 窗体)。我试图实现当用户登陆我的页面时,我需要使用授权 JWT 令牌将他们重定向到另一个站点页面。我正在尝试使用以下代码。

 Response.AddHeader("Authorization", "Bearer " + jwtToken);
 Response.Redirect("https://sitename/index.aspx");
 Response.End();

我看不到页面中的标题还是我做错了?谁能帮我解决这个问题?

【问题讨论】:

    标签: c# asp.net redirect authorization


    【解决方案1】:

    当您使用 Response.Redirect 时,标头信息不会传递到新 URL。 您在 response.redirect 之前添加的标头,它不会添加到新请求中。

    仅当您的网站托管在 IIS(v7 或更高版本)中时,在 Response.Redirect 期间添加新标头的支持有限。

    您可以在 system.webServer 配置部分配置自定义标头。这些将在 IIS 将用户重定向到某个 URL 时添加。

    我认为我们不能放置任何动态值(例如用户令牌)。

    注意:如果您要转移到同一组织拥有的另一个应用程序(共享基础设施),那么您可以将此不记名令牌保存在缓存中(其中密钥将在GUID),然后将 GUID 作为查询字符串发送到其他应用程序。其他应用程序可以读取查询字符串并从缓存中检索令牌。同样,这取决于您的项目/产品的高级设计。

    <system.webServer>
      <httpProtocol>
          <customHeaders>
            <add name="X-Frame-Options" value="SAMEORIGIN" />
            <add name="X-XSS-Protection" value="1; mode=block" />
            <add name="X-Content-Type-Options" value="nosniff" />
            <add name="Strict-Transport-Security" value="max-age=31536000; includeSubDomains" />
            <remove name="X-Powered-By" />
          </customHeaders>
        </httpProtocol>
    </system.webServer>
    

    【讨论】:

      猜你喜欢
      • 2019-02-12
      • 1970-01-01
      • 2017-06-24
      • 2017-12-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-14
      • 1970-01-01
      相关资源
      最近更新 更多