Perl Web服务(服务器)最佳实践

时间:2009-07-17 04:16:01

标签: perl web-services authentication ssl authorization

我目前正在使用修改后的HTTP::Daemon::Threaded服务器 与SOAP :: WSDL和Pod::WSDL结合使用以提供Web服务 由各种客户类型和角色使用。

----这不是问题,以下是-----

我想针对以下主题找到最佳解决方案(尽可能):

  • 请求/发送/响应速度
  • 协议安全性(正确使用经过客户端验证的SSLv3 / TLS)
  • 资源安全性(基于每个资源和每个方法的安全角色/特征)
  • 类型,方法签名和所需安全角色的声明性规范&性状。

问题:

  1. 我想使用基于IO::SelectIO::Async::Loop::IO_Ppoll的服务器,但我知道这与服务器内客户端验证的SSL不兼容。 我的理解是否正确?

  2. 我想逐步验证每个请求上的客户端证书,以及CA SiteMinder之类的内容,在成功进行客户端证书验证后,我会在其中提供有时间限制的会话cookie,可以在后续使用请求避免此时间损失(并减少服务器负载)。 这会变得安全吗?(甚至还不够好?)

  3. 我是否可以构建一些模块/框架,为暴露的对象和方法提供Trait和基于角色的授权。 Pod :: WSDL实际上只处理类型(甚至不是复杂类型)。我想使用/实现一些基于声明性注释(或外部YAML)的方案来处理复杂的WSDL类型以及Trait& amp;角色授权。 有没有人这样做过?(甚至是分开?)还有其他模块可能是一个很好的起点吗?

  4. 最后 - 我是否因为在Perl5中这样做而疯狂?;)

3 个答案:

答案 0 :(得分:1)

好的,除了真正的问题,每个人都在回答所有问题。

我会在单独的帖子中将其分解为具体问题,并且不会在任何服务器构成中提及任何内容 - 这个主题中的每个人似乎都想讨论这个主题,哪个完全无关紧要

答案 1 :(得分:0)

我知道这是一个老问题,但自从IO::Async::SSL模块以来,FYI IO::Async可以正常使用SSL。

答案 2 :(得分:-4)

你在Perl中做到这一点很疯狂: - )

但说真的,对你来说更有力量。我的问题是,假设你有一些理由重新发明这个轮子,为什么不考虑Python呢? Perl很活跃,但是现在用Python完成了很多这样的事情(低级脚本)。

最后,假设你没有实际的理由这样做(除了有趣),你应该考虑一个Web框架(当然是Django)和类似nginx的东西来处理HTTP交互。