【发布时间】:2011-06-24 16:51:01
【问题描述】:
设置如下: 1.前端网站,表单认证 2. 后端 Web 服务(可能是 WCF),位于启用 HTTPS 的不同网络上。
因此,前端的代码通过这些后端 Web 服务检索数据。
后端 Web 服务本身需要对用户请求进行身份验证。后端 Web 服务不只是将数据分发给前端服务,相信一切正常。
那么这是怎么做到的呢?现在唯一想到的是在登录期间,将密码存储在加密表单身份验证 cookie 的 UserData 字段中,以便将来的请求可以使用它来访问后端。但是男孩会觉得恶心。
这似乎是一种非常常见的设置,但我无法通过谷歌搜索找到任何好的想法。
请注意,前端将是一个 MVC 应用程序,尽管我认为 MVC/Web 表单并不重要——任何解决方案都可能对两者都适用。
【问题讨论】:
-
谁拥有用户的凭据?您是要为前端和后端服务器分别存储它们还是共享它们?
-
它们是共享的,存在于后端的数据库中。换句话说,“Validate Credentials”是前端在登录时使用的 Web 服务方法之一。但是在下一页上,前端需要显示一个数据图表。此时前端只有用户的userID,无法认证到后端获取信息
标签: asp.net web-services authentication