【问题标题】:How to show/hide few methods to one client and few other methods to another client in Web Api如何在 Web Api 中向一个客户端显示/隐藏一些方法,向另一个客户端显示/隐藏一些其他方法
【发布时间】:2017-11-22 13:24:55
【问题描述】:

我有一个 Web Api 说“计算器”。它有说方法加,减,乘,除。我想确保当我们移交它们时,只有 Add、Subtract 方法对客户端可见。当我移交给另一个客户时,我只想展示乘法和除法方法。 Web Api 2.0 可以吗?

【问题讨论】:

  • 详细说明“移交”是什么意思?您的意思是授予对 API 的访问权限?这是通过有据可查的授权完成的。
  • 假设说,我将 api 提供给多个客户端,其中包含四个方法,但我想确保两个方法对 client1 可见。 Client1 在浏览 web api 时应该只看到两个方法。同样,另外两个方法只适用于 client2。

标签: c# .net asp.net-mvc asp.net-web-api2


【解决方案1】:

Authentication And Authorization

这篇文章很好地解释了它。客户端通过身份验证后,您可以授权他们根据条件执行特定操作。

以下是文章中授权工作原理的一个小示例:

// Restrict by user:
[Authorize(Users="Alice,Bob")]
public class ValuesController : ApiController
{
}

// Restrict by role:
[Authorize(Roles="Administrators")]
public class ValuesController : ApiController
{
}

【讨论】:

    猜你喜欢
    • 2012-06-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-30
    相关资源
    最近更新 更多