gpt4 book ai didi

java - Web 服务中关于身份验证失败的用户通知方式哪种更好?

转载 作者:行者123 更新时间:2023-12-01 05:38:16 24 4
gpt4 key购买 nike

这是我第一次尝试开发网络服务。身份验证是通过在用户请求的上下文中发送登录名和密码(使用此示例: http://www.mkyong.com/webservices/jax-ws/application-authentication-with-jax-ws/ ),然后从每个 WS 方法调用身份验证方法来实现的。但在这种情况下,哪种方式通知用户身份验证失败更好呢?抛出异常(SOAP 错误)?或者还有其他更好的方法吗?

附注抱歉我的英语不好

最佳答案

阿尔乔姆,

SOAP 错误大致类似于程序异常,因此我将返回 SOAP 错误

  • 不同的故障代码(即错误编号)和
  • “普通”故障字符串,适合向用户显示;和
  • 包含“技术细节”的故障详细信息,例如底层异常和堆栈跟踪。

这为您提供了两全其美的优点:简单性和灵 active 。只是说,在服务实现中,您捕获 AuthenticationFailureException 并使用

构建“SOAP 错误响应”
  • 故障代码 = 5,
  • FaultString =“身份验证失败”,并且
  • FaultDetail = "AuthenticationFailureException: blah blah\n "

因此,在编程时,您已经拥有了准确查看问题所在所需的一切,而在生产中,服务使用者(即表示层)负责处理 SOAP 错误,以便向用户显示适当的错误信息。向用户显示的确切内容永远不应该被确定为服务,尤其是在故障情况下。这显然是表示层的职责。

还有一个改进...请务必针对“身份验证服务当前不可用”的场景使用单独的异常类型(和肥皂故障代码),这样用户就不会徒劳地不断重试,担心他们忘记了密码,或者被黑客攻击,或者其他什么。

这是一篇关于 Using SOAP Faults 的简洁明了的 MSDN 文章,它适用于 Java 和 .NET Web 服务。

干杯。基思。

关于java - Web 服务中关于身份验证失败的用户通知方式哪种更好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7801279/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com