WebApi 2身份验证和ASP.NET MVC 5应用程序

14 浏览
0 Comments

WebApi 2身份验证和ASP.NET MVC 5应用程序

我对ASP.NET MVC 5和WebAPI 2技术还不熟悉。

我目前正在为我的学校开发一个项目。

这个项目将在计算机或移动设备上使用。

我有一个类似这样的Visual Studio解决方案:

  • 一个名为"Web.Front"的项目 - ASP.NET MVC 5 - 用于描述项目的前端网站
  • 一个名为"Web.Management"的项目 - ASP.NET MVC 5 - 核心网络应用程序
  • 一个名为"WebApi"的项目 - 具有个人账户认证的WebAPI 2项目
  • 一个名为"Models"的项目 - 类库 - 包含我的POCO类以进行Code First
  • 一个名为"Database"的项目 - 类库 - 包含我的DbContext和迁移类

我在理解如何管理此项目中的用户方面遇到了困难。

我可以创建我的用户数据库,并通过Fiddler进行身份验证和创建/管理用户。

现在我想在我的"Web.Management"项目的控制器中访问我的用户。

在创建时,我选择了"个人账户"进行身份验证,所以Visual Studio自动生成了AccountController控制器。

我想将这些方法更改为直接查询我的WebAPI。

1)您认为我的解决方案架构是否正确?

2)您能告诉我如何更改我的"AccountController"控制器以通过WebAPI管理用户吗?

谢谢!

0
0 Comments

问题出现的原因是需要在现有的ASP.NET MVC 5应用程序中添加WebAPI 2身份验证功能。解决方法是使用EF Code First方法,将模型项目作为数据库项目,并使用区域来代替前端和管理分离。最终需要创建两个项目,一个是数据库/模型项目,使用EF 6 Code-First方法,另一个是包含WebAPI和区域的WebFront/WebManagement项目。区域在使用后非常有用。以下是解决方法的伪代码:

// 创建数据库/模型项目

public class DatabaseModel

{

// 数据库模型代码

}

// 创建WebAPI + 区域项目

public class WebAPIController : ApiController

{

// WebAPI控制器代码

}

public class WebFrontController : Controller

{

// Web前端控制器代码

}

public class WebManagementController : Controller

{

// Web管理控制器代码

}

这样,就可以在现有的ASP.NET MVC 5应用程序中添加WebAPI 2身份验证功能了。

0