Architecture 如何实现身份和服务之间的关系?

Architecture 如何实现身份和服务之间的关系?,architecture,service,soa,acl,zend-auth,Architecture,Service,Soa,Acl,Zend Auth,我正在使用Zend框架构建一个应用程序,在这个应用程序中,我出于通常的原因使用SOA,但我遇到了一个我不确定如何解决的问题。该应用程序有一个身份验证步骤,我也想在其中获得ACL,但问题是我不知道如何在不使所有内容都不可修改的情况下让服务知道用户身份。问题是我想在服务内部进行ACL检查 你通常是怎么做的?是否将标识传递给服务实例?通过某种注册表使其可访问?我喜欢automagic,但我在这里找不到一个好的解决方案我还没有第一手遇到过这个问题,而且我不是PHP开发人员,所以我不确定这会有多大帮助 我

我正在使用Zend框架构建一个应用程序,在这个应用程序中,我出于通常的原因使用SOA,但我遇到了一个我不确定如何解决的问题。该应用程序有一个身份验证步骤,我也想在其中获得ACL,但问题是我不知道如何在不使所有内容都不可修改的情况下让服务知道用户身份。问题是我想在服务内部进行ACL检查


你通常是怎么做的?是否将标识传递给服务实例?通过某种注册表使其可访问?我喜欢automagic,但我在这里找不到一个好的解决方案

我还没有第一手遇到过这个问题,而且我不是PHP开发人员,所以我不确定这会有多大帮助

我认为通过身份认证是可以的,但不确定你最好怎么做

  • 如果您可以信任信息来自何处(并且消息没有被篡改),那么您可以将该标识作为标识符传递,然后可以进行查找
  • 最好是一些更安全的东西,比如散列(?)
  • 我想如果你能加密信息(或其中的敏感部分),那就没问题了

您打算如何检查服务“内部”用户的身份?

我通过将身份缓存在其他服务与之通信的服务中解决了这个问题,并支持将身份传递给使用它的服务。起初感觉很奇怪,但现在感觉是一个很好的解决方案