重用WEB API OData控制器的现有ASP.NET-MVC 5 Identity 2授权,以便轻松登录其他应用程序?
我有完整的ASP.NET-MVC5应用程序,我通过WEB API 2 OData控制器进行了扩展。 比如我有:
public class PersonController : ODataController
和需要授权的MVC控制器
-
[Authorize] public class PersonController : Controller
两个控制器都在我的DbSets
中使用ApplicationDbContext
我不想通过WEB API控制器向世界上的每个人提供有关人员的数据。 我已经在我的MVC应用程序中拥有User
, Moderator
和Admin
角色。
我可以以某种方式使用已经存在的授权模块(Identity 2.x),当有人试图从Person
WEB API Controller获取数据时要求登录。
例如:
http://localhost:17697/odata/Person?$expand=ReceivedCalls
直接问题 :
如果我做:
[Authorize] public class PersonController : ODataController {
然后当我去链接时:
http://localhost:17697/odata/Person
我被重定向到登录页面。 但是这个登录页面适用于人类。 如何使客户端应用程序轻松登录。