asp.net mvc3,我如何进行身份验证?

时间:2011-07-17 02:42:59

标签: asp.net asp.net-mvc-3 authentication authorize

我需要为我的朋友建立一个“我的帐户”应用程序。我计划使用asp.net MVC 3。

我必须使用第三方API来验证用户身份。如果这是常规的Web应用程序,很容易,我使用第三方API提交请求,得到回复。如果这是授权用户,请创建会话。在所有受保护的页面上,我只检查会话,如果它存在,则显示内容,否则重定向回登录页面。

我可能在我的mvc3项目上也可以这样做,但我知道这绝对是一种错误的方法。 MVC3非常灵活。必须有更好的方法来做到这一点。我收到第三方API的回复后。之后我该怎么办?如果可以,请告诉我一些代码。

4 个答案:

答案 0 :(得分:1)

使用ASP.NET成员资格提供程序并创建一个自定义提供程序以挂接到您的API。这为你完成了很多艰苦的工作,你并没有“重新发明轮子”。关于如何使用MVC执行此操作有一个很好的概述:http://theintegrity.co.uk/2010/11/asp-net-mvc-2-custom-membership-provider-tutorial-part-1/

答案 1 :(得分:1)

  1. 执行文件新项目时,使用“Internet应用程序”模板创建新的MVC 3应用程序。
  2. 然后为您创建所有代码 - 在visual studio中单击解决方案资源管理器中的“ASP.NET配置”图标。
  3. 创建用户和角色
  4. 使用
  5. 装饰您的控制器和/或操作方法
    [Authorize(Roles="Administrators")]
    public class MyAdminOnlyController : Controller
    {
    }
    
    1. 配置其他功能,例如忘记密码功能,密码重置等。其他一些功能需要编码。
    2. 完成!

答案 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功能,实体框架和身份验证的推荐教程。