Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Web services 声明性web服务授权&;WSDL类型_Web Services_Wsdl_Authorization_Dynamic Languages - Fatal编程技术网

Web services 声明性web服务授权&;WSDL类型

Web services 声明性web服务授权&;WSDL类型,web-services,wsdl,authorization,dynamic-languages,Web Services,Wsdl,Authorization,Dynamic Languages,目前,我们有一组web服务将接口公开给各种不同的客户机类型和角色 背景: web服务应用程序代码是(并将继续)用弱类型动态语言编写的 认证是分开处理的,这篇文章是关于授权的 web服务公开的所有操作都是无状态的 web服务同时讨论SOAP和REST(JSON) 我绝对没有兴趣开始讨论这两种方法的优点 问题: 我想实现一个同时以声明方式定义的方案 公开方法的输入和输出的复杂WSDL类型,以及 使用暴露方法所需的授权特征和/或角色 我希望声明要么与接口定义(比如作为方法属性)内联,要么外部定义(

目前,我们有一组web服务将接口公开给各种不同的客户机类型和角色

背景:

  • web服务应用程序代码是(并将继续)用弱类型动态语言编写的

  • 认证是分开处理的,这篇文章是关于授权的

  • web服务公开的所有操作都是无状态的

  • web服务同时讨论SOAP和REST(JSON)

    我绝对没有兴趣开始讨论这两种方法的优点

问题:

我想实现一个同时以声明方式定义的方案

  • 公开方法的输入和输出的复杂WSDL类型,以及
  • 使用暴露方法所需的授权特征和/或角色
  • 我希望声明要么与接口定义(比如作为方法属性)内联,要么外部定义(比如通过YAML文件),但不在数据库中动态管理


    弱类型动态语言是否已经存在这样的实现?是否有完全外部的实现我们可以构建apon?

    如果您使用的是Java,那么Spring Security(以前的ACEGI)将允许您注释您的方法,以需要任何用户角色作为执行条件

    这是一个


    缺少角色的用户的请求将引发异常。您可以自由选择您想要的任何身份验证方案,无论您使用的是SOAP还是REST。它没有比注释更具声明性。我已经在许多Web服务中成功地使用了这种方法。

    Gah,在这个主题上一无所获。。。重新询问我已经可以预测的细节会让事情变得混乱:(

    来自OP:“web服务应用程序代码是(并且将继续)用弱类型动态语言编写的。”同样来自OP:“是否已经存在(任何)的此类实现?”弱类型动态语言?我们可以构建apon吗?“Java是一种中等类型的静态语言。
    package com.habuma.expectations.springsecurity.intercept;
    import org.springframework.security.annotation.Secured;
    
    public class SecuredObject {
       @Secured( {"ROLE_SECRET_AGENT"} )
       public String getSecuredData() {
          return "Top-Secret Data";
       }
    }