C# 对WEB API OData控制器重新使用现有的ASP.NET-MVC 5 Identity 2授权,以便轻松登录其他应用程序?
我有完整的ASP.NET-MVC5应用程序,我通过WEB API 2 OData控制器对其进行了扩展。 例如,我有:C# 对WEB API OData控制器重新使用现有的ASP.NET-MVC 5 Identity 2授权,以便轻松登录其他应用程序?,c#,asp.net-mvc,odata,asp.net-web-api2,asp.net-identity-2,C#,Asp.net Mvc,Odata,Asp.net Web Api2,Asp.net Identity 2,我有完整的ASP.NET-MVC5应用程序,我通过WEB API 2 OData控制器对其进行了扩展。 例如,我有: 公共类PersonController:ODataController 以及需要授权的MVC控制器 [授权] 公共类人员控制器:控制器 这两个控件都使用ApplicationDbContext,其中mydbset是 我不想通过WebAPI控制器向世界上的每个人提供关于人的数据。在我的MVC应用程序中,我已经有了用户、主持人和管理员角色 当有人试图从PersonWebAPI
公共类PersonController:ODataController
[授权] 公共类人员控制器:控制器
ApplicationDbContext
,其中mydbset
是
我不想通过WebAPI控制器向世界上的每个人提供关于人的数据。在我的MVC应用程序中,我已经有了用户
、主持人
和管理员
角色
当有人试图从Person
WebAPI控制器获取数据时,我是否可以使用现有的授权模块(Identity 2.x)要求登录
例如:
http://localhost:17697/odata/Person?$expand=ReceivedCalls
直接问题:
如果我这样做:
[Authorize]
public class PersonController : ODataController {
然后当我转到链接时:
http://localhost:17697/odata/Person
我被重定向到登录页面。但是这个登录页面是为人类设计的。如何使客户端应用程序易于登录。您可以使用相同的身份设置来保护api。只需在api控制器上进行授权即可。