服务安全与数据解析全解析
1. 服务调用与数据解析
在服务调用过程中,有时可以避免下载和解析WSDL文件来发起调用。但构建不依赖WSDL文件的请求可能会有些棘手。一种有效的故障排除方法是编写基于WSDL的请求版本,并开启Savon日志记录。之前的示例使用 Savon::Request.log = false 禁用了日志记录,而开启日志后,调试输出会显示请求中发送的XML。可以运行WSDL版本和常规版本的请求,并比较两者的XML,这有助于确定需要在SOAP对象上设置哪些额外参数。
在解析服务响应时,其难度取决于返回的数据量。在Ruby中,有多种解析XML的选项,而Nokogiri在速度和易用性方面目前处于领先地位。在编写用于解析服务响应的类时,设计类有一些关键点需要遵循:
- 保持解析逻辑与对象逻辑分离,最好将解析逻辑放在单个方法中。
- 为数据使用多个类,不要试图将所有内容都放在一个类中。
- 使对象构造函数接受标准的Ruby对象,而不是未解析的字符串。
遵循这些准则设计用于包装服务响应的类,能够使代码更具可读性和可维护性。这些准则同样适用于编写进行SOAP调用的类,解析、请求和SOAP逻辑应在类内部处理,类应返回数据对象,通过清晰的API展示响应中包含的数据。
2. 服务安全的关键领域
服务安全主要关注三个方面:认证、授权和加密。认证是指验证用户是否为其声称的身份,以及其消息是否未被篡改;授权是确定给定用户在系统上被允许执行的操作;加密则是防止中间人知晓来回传输的数据内容。这三个方面对于确保系统的安全性都非常重要,但处理方式各不相同。
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



