【发布时间】:2012-09-13 15:21:40
【问题描述】:
我们已经在我的公司实施了几个 Intranet Web 应用程序。他们都:
- 由 ASP.NET MVC 3 构建
- 使用 CAS(cookie 策略中的票证)和共享 LADP 服务器进行单点登录
- 根据当前登录用户拥有基于角色的访问控制逻辑
- 公开许多 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