回答
对“Web服务”进行身份验证...您是指SOAP/HTTP(S)还是网页?两种情况下的答案是不同的!
- 对于SOAP/HTTPS,您正在使用带有SAML/XACML令牌的WS-Security套件进行通话。该权限可以通过多种方式派生,如Kerberos或VOMS。这显然不是微不足道的,你需要弄清楚服务“生态系统”中的所有其他部分是否合适,并确保与之互操作。
- 对于网页,请查看OpenID或Shibboleth作为从其他人维护的来源获取认证令牌的方式。据我了解,OpenID对于开放式互联网更好,Shibboleth更适合企业部署(它被设计用于处理大学处理网页登录等问题)。
如果你这样做,作为一个门户网站安全web服务网页,有可能弥合以上,这样的OpenID的浏览器介导的技术被用来生成密码令牌是两套服务然后用于与后端交谈。但这真是非常不平凡! (不是我的专业领域,但工作与人对他们来说是)
[编辑]:当然,如果你只是问一般的登录方式,那么它是微不足道的。用户真正接受的唯一方法就是将他们的用户名和密码输入到网页中,即使如此,它也只是在很少。如果您要做到这一点,请记住只允许通过HTTPS登录,您应该只允许他们登录系统的页面通过HTTPS提供服务,而且您必须付出努力-XSS铠装(一个经典的SO问题!)
呃,你提到两者其实都很棒。我必须做出这样的区分。所以是的,我想同时使用网页中的常规用户登录,以及使用某种形式的客户端身份验证的API。 – 2010-04-17 23:35:45
它取决于你需要什么类型的securiry,但它通常认证协议是最后一件事情。执行缺陷被更频繁地利用。
如果你需要一个Web服务的安全性和您需要的不仅仅是简单的用户名和密码的(有密码强度政策),考虑
- SSL(相互验证)
- 的Kerberos
- 零知识协议(lightweigth)
但是,不管你选择什么,不要让它变得复杂,并确保实现是安全的,因为你的安全性是一样的好最弱点
听起来像Kerberos和零知识协议适用于客户端 - 服务器通信,其中都是机器。我实际上是通过浏览器谈论用户身份验证。 – 2010-04-17 23:12:38
- 1. 安全认证用户的最佳方式是什么? (session,cookies,php,mysql)
- 2. 测试API用户认证的最佳方法是什么?
- 3. 在PHP中验证URL最安全的方法是什么?
- 4. 什么是Spring安全会话认证的最佳策略
- 5. 从iOS使用Facebook进行安全认证的最佳做法是什么?
- 6. 安全认证用户为第三方
- 7. 什么是通过AJAX验证用户的最简单安全的方式?
- 8. 迭代HashSet的最快/最安全的方法是什么?
- 9. 调用安全方法,无需认证
- 10. 在iOS8上使用FileReader最安全的方法是什么?
- 11. 验证用户输入JDBC的最佳方法是什么?
- 12. PHP用户认证和安全方法:LDAP-AD和SQL Server
- 13. 最安全的方法来验证用户
- 14. spring安全3认证方法
- 15. 将InnoDB转换为MyISAM的最安全方法是什么?
- 16. 上传文件最安全的方法是什么?
- 17. 什么是最安全的散列方法? (PHP)
- 18. 在* nix中清空目录的最安全方法是什么?
- 19. 什么是从轨道3.0.3更新到3.0.10最安全的方法?
- 20. 脱机用户认证的最佳模式是什么?
- 21. 这种验证/登录用户的方法是否安全?
- 22. Django远程用户认证和安全
- 23. 为什么这被认为是Sharepoint中的“不安全更新”?
- 24. 使用AES_ENCRYPT的最佳做法是什么?它有多安全?
- 25. 有什么方法可以简化codeigniter中的全局认证?
- 26. 在ASP.NET中验证Web服务的最有效/安全的方式是什么?
- 27. 什么是使用PHP连接到数据库的最安全的方法?
- 28. 什么是最安全,最简单,最通用的proguard配置?
- 29. 用C++签名/认证文本文件的最简单方法是什么?
- 30. 什么是读取PHP $ _REQUEST超全局的安全方法?
谷歌和Facebook在做什么? – 2010-04-17 22:49:50
不知道他们在后端做了什么,但是,在前端它是微不足道的用户名/密码。 – 2010-04-18 20:43:48