【问题标题】:How i can restrict specific users to access few web methods in webservice我如何限制特定用户访问网络服务中的少数网络方法
【发布时间】:2012-01-07 07:35:36
【问题描述】:

如果我的 Web 服务有 5 个方法,比如 method1()、method2()、method3()、method4() 和 method5()。 和两个客户a和b。那么客户端a是否可能只看到method1()和method2()。而客户端 b 只看到方法 3,4 和 5。

在网络服务中可以吗?如果是,那怎么办?

【问题讨论】:

  • 我不知道你想实现什么。从实现的角度来看,提供两个 API 更简单——一个公开 method1() method2,另一个公开方法 3、4 和 5。
  • 如果我创建两个不同的 API,那么它们将有两个不同的 URL。这不是我的要求。我可以处理吗?也就是说,有不同的API,并且都可以被一个URL引用?

标签: c# asp.net .net web-services


【解决方案1】:

当您通过“看”来表示“呼叫”时:是的。您可以测试用户的凭据并相应地授予或拒绝访问。

当您通过“see”表示“在元数据 (MEX/WSDL) 中发布”时:是的,但并不容易。

您可以为每个用户(组)发布自定义元数据并授予/拒绝访问元数据。 Visual Studio 不支持这种情况;您必须调整 WSDL 并控制访问。

另一件事是,除了以该用户身份运行 Visual Studio 之外,Visual Studio 不允许您在尝试检索元数据时将凭据传递给站点。因此,这可能会妨碍您设置服务参考。

您可以暂时关闭安全性来规避这一点。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-28
    • 1970-01-01
    • 2014-08-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多