0

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

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

我可能可以在我的 mvc3 项目上做同样的事情,但我知道这绝对是一个错误的方法。MVC3 非常灵活。必须有更好的方法来做到这一点。在我从第三方 API 得到响应后。之后我该怎么办?如果可以的话,请给我一些代码。

4

4 回答 4

1

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

于 2011-07-17T03:02:33.597 回答
1
  1. 新建文件时使用“Internet 应用程序”模板创建一个新的 MVC 3 应用程序。
  2. 然后为您创建所有代码 - 在 Visual Studio 中单击解决方案资源管理器中的“ASP.NET 配置”图标。
  3. 创建您的用户和角色
  4. 装饰你的控制器和/或动作方法
[授权(角色=“管理员”)]
公共类 MyAdminOnlyController : 控制器
{
}
  1. 配置附加功能,例如忘记密码功能、密码重置等。一些附加功能需要编码。

完毕!

于 2011-07-17T04:20:54.273 回答
0

我认为使用 MVC3 进行身份验证与常规 Web 应用程序没有什么不同。在您的控制器中,您将从视图中获取的用户名和密码发送到 API,然后返回响应。

然后,您可以将其保存到会话并在您想要保护的任何页面上进行检查。

MVC 只是分离视图逻辑、业务逻辑和数据模型的方式。申请流程是一样的。

于 2011-07-17T02:55:46.577 回答
0

ASP.NET 已经构建了 ASP.NET 成员资格提供程序。后端数据可以存储在 ASP.NET 配置网站、SQL Server 数据库、Active Directory 和其他数据库中,但您需要自定义身份验证提供程序。

这是SQLServer Membership 提供程序的示例,您可以从此处阅读详细文档

对于 ASP.NET 配置管理成员资格提供程序,您可以阅读音乐商店 ASP.NET MVC 教程成员资格和授权部分。如果您想了解 ASP.NET MVC 身份验证/授权。音乐商店示例是探索 ASP.NET MVC3 功能、实体框架和身份验证的推荐教程。

于 2011-07-17T05:00:44.837 回答