【问题标题】:How to call RESTFul WCF service with Forms authentication如何使用表单身份验证调用 RESTFul WCF 服务
【发布时间】:2015-07-24 11:21:01
【问题描述】:

假设:

客户端是为 STS 被动问题配置的 Web 应用程序 (ASP.NET) 服务器是具有 2 个服务的 MVC 应用程序(1. 发布令牌和其他获取元数据) 另一方面,服务器为表单身份验证配置,如果进行未经身份验证的访问,则应重定向到登录页面。

工作流程:

  1. 最终用户尝试加载客户端。
  2. 它通过重定向到 STS 服务器来联系 STS。
  3. 服务器配置了带有重定向 URL 的表单身份验证。

但是服务器没有重定向到登录页面。相反,它允许调用问题端点。

我尝试通过 web.config 中的授权标签进行限制。另外,我尝试使用位置标签来明确设置授权。但它仍然允许调用。

我参考了很多博客

How to: Enable the WCF Authentication Service

How to: Customize User Login When Using the WCF Authentication Service

但没有运气。

【问题讨论】:

    标签: wcf asp.net-mvc-4 wif restful-authentication


    【解决方案1】:

    这很容易通过 ADFS 实现。如果 ADFS 是您的 STS,请使用以下步骤:

    1. 导航到 ADFS Web 应用程序所在的文件夹(通常为 C:\inetpub\adfs\ls)

      1. 复制当前的 web.config 以确保安全

      2. 在记事本中打开 web.config

      3. 定位

      4. 在中,更改身份验证顺序以确保它首先列出表单身份验证

      5. 订单必须如下所示:

      <add name="Forms" page="FormsSignIn.aspx" />       
      
      <add name="Integrated" page="auth/integrated/" />
      
      <add name="TlsClient" page="auth/sslclient/" />
      
      <add name="Basic" page="auth/basic/" />
      

      1. 保存更改(无需重新启动 ADFS)

      2. 导航到您的应用程序并单击登录。将弹出一个包含登录对话框的页面,而不是向 ADFS 发送登录请求。请输入您的凭据,然后单击确定。然后,你会得到和上面一样的结果。

    参考文章:

    Claims Aware MVC4 App using WIF Identity and Access tool in .Net 4.5 Part I

    Claims Aware MVC4 App using WIF Identity and Access tool in .Net 4.5 Part II

    【讨论】:

      猜你喜欢
      • 2011-02-23
      • 2011-03-03
      • 2011-06-24
      • 2011-09-03
      • 2013-07-05
      • 1970-01-01
      • 2012-06-01
      • 2012-03-23
      • 1970-01-01
      相关资源
      最近更新 更多