繁体   English   中英

如何从另一个应用程序调用基于角色的授权Web API?

[英]How do I call my role-based authorized web API from another app?

我有一个Web API,它为每个控制器和操作利用角色授权(例如: [Authorize(Roles="test")] )。

该API旨在成为一个独立的应用,没有实际的MVC网站,因此没有登录方法。

假设我有一个单独的“ 学生 ”应用,该应用需要显示学校中所有当前学生的列表。 在API中,我有一个基于角色的授权方法,该方法从数据库中检索所有当前的学生。 如果获得授权,我该如何从“ Students ”应用程序(位于同一域)调用该API调用?

无论如何,我是否可以欺骗“ 学生 ”应用程序以在其中一个授权角色下运行? 我不想使用使用该站点的用户角色,因为只允许管理员执行这些API调用。

查看有关构建OAuth 2授权服务器的教程。 您可以使用“授权代码授予”来针对您的API对学生MVC应用进行身份验证。

但是,构建OAuth服务器并不是一件容易的事。 您可以看一下IdentityServer之类的完整且安全的开源产品,以帮助您实现大多数授权和身份验证逻辑。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM