【问题标题】:Inter web application communication with ASP.NET MVC and CAS使用 ASP.NET MVC 和 CAS 进行 Web 应用程序间通信
【发布时间】:2012-09-13 15:21:40
【问题描述】:

我们已经在我的公司实施了几个 Intranet Web 应用程序。他们都:

  1. 由 ASP.NET MVC 3 构建
  2. 使用 CAS(cookie 策略中的票证)和共享 LADP 服务器进行单点登录
  3. 根据当前登录用户拥有基于角色的访问控制逻辑
  4. 公开许多 RESTful(like) web api 以供页面的 ajax 使用

现在我们发现这些用于 ajax 请求的 Web api 可以用作其他 Web 应用程序的服务(如员工信息、客户信息等)。这意味着我们需要在后端访问这些 api(使用 C# 代码)。问题是身份验证和授权。

我不知道如何使用现有的身份验证模式来访问那些 web api。我只能想到一种在后端服务器之间使用共享服务凭证的方法,但这意味着该凭证必须具有完全访问权限。是否存在安全风险?正如我所提到的,我们在 CAS 的 cookie 策略中使用票证。这对于浏览器来说是可以的,但对于 C# 代码来说似乎很难。如何从后端使用带有 CAS 的凭证?使用 WebClient 并手动处理 302?

有没有人遇到过类似的情况并对此有一些好的经验?请给我一些建议。非常感谢。

【问题讨论】:

    标签: asp.net-mvc web-services rest cas


    【解决方案1】:

    这里需要使用CAS代理模式访问后端Web服务:https://wiki.jasig.org/display/CAS/Proxy+CAS+Walkthrough

    【讨论】:

    • 谢谢@jlelue。在阅读了 CAS 的 wiki 之后,我发现代理旨在解决我的问题。我会尝试在我的项目中利用它,看看它是否合适。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多