我需要为我的朋友建立一个“我的帐户”应用程序。我计划使用asp.net MVC 3。
我必须使用第三方API来验证用户身份。如果这是常规的Web应用程序,很容易,我使用第三方API提交请求,得到回复。如果这是授权用户,请创建会话。在所有受保护的页面上,我只检查会话,如果它存在,则显示内容,否则重定向回登录页面。
我可能在我的mvc3项目上也可以这样做,但我知道这绝对是一种错误的方法。 MVC3非常灵活。必须有更好的方法来做到这一点。我收到第三方API的回复后。之后我该怎么办?如果可以,请告诉我一些代码。
答案 0 :(得分:1)
使用ASP.NET成员资格提供程序并创建一个自定义提供程序以挂接到您的API。这为你完成了很多艰苦的工作,你并没有“重新发明轮子”。关于如何使用MVC执行此操作有一个很好的概述:http://theintegrity.co.uk/2010/11/asp-net-mvc-2-custom-membership-provider-tutorial-part-1/
答案 1 :(得分:1)
[Authorize(Roles="Administrators")] public class MyAdminOnlyController : Controller { }
完成!
答案 2 :(得分:0)
我不认为使用MVC3进行身份验证与常规Web应用程序有任何不同。在您的控制器中,您将发送从视图到API的用户名和密码,以获得响应。
然后,您可以将其保存到会话中,并在要保护的任何页面上对其进行检查。
MVC只是分离视图逻辑,业务逻辑和数据模型的方法。申请流程是一样的。
答案 3 :(得分:0)
ASP.NET已经构建了ASP.NET成员资格提供程序。后端数据可以存储在ASP.NET配置网站,SQL Server数据库,Active Directory和其他数据库中,但您需要自定义身份验证提供程序。
this is SQLServer成员资格提供程序的示例,您可以从here
中读取详细文档对于ASP.NET配置管理成员资格提供程序,您可以阅读Music Store ASP.NET MVC tutorial中的Membership and Authorization section。如果您想了解ASP.NET MVC身份验证/授权。音乐商店示例是用于探索ASP.NET MVC3功能,实体框架和身份验证的推荐教程。