【发布时间】:2014-10-02 21:45:44
【问题描述】:
我正计划使用 ASP.NET Web Api 制作一个宁静的 Web 服务。许多 ASP.NET MVC Web 应用程序和可能的本机应用程序将使用该服务。该服务将使用 ASP.NET 身份来授权请求/用户。通过在每个请求中传递一个令牌,我可以看到如何将服务与本机应用程序一起使用。
我的问题是任何使用该服务的 ASP.NET MVC 应用程序,我如何在向该服务发出请求后将用户标记为已登录?
这是我想要的,可以吗?
- 用户未登录,重定向到登录页面
- 用户提交表单,在应用中调用 MVC 控制器
- 控制器调用 Web 服务
- Web 服务返回用户的 ID、名称和角色(可能是 JSON?)
- 这是我卡住的地方:ASP.NET MVC Web 应用程序然后将用户标记为已登录整个 MVC Web 应用程序。该角色将用于任何控制器/操作的任何授权属性。 ASP.NET MVC Web 应用还可以通过 cookie 记住用户并在未来自动登录。
【问题讨论】:
-
没什么大不了的,但它是 ASP.NET MVC,而不是 ASP MVC。
-
谢谢,我已经更正了
-
我认为您正在做的事情是可能的。当 MVC 应用程序从 webapi 调用中获得肯定/肯定响应时,然后在 MVC 应用程序的控制器操作中设置一个 cookie。但是您可能需要考虑取消 cookie 并在 webapi 端设置一些东西,比如生成的令牌,然后在 MVC 应用程序上的每个请求上使用这个令牌来检查授权。有点像单点登录解决方案的先驱。
标签: asp.net asp.net-mvc web-services asp.net-web-api