gpt4 book ai didi

database - 在 Spring Security 中处理 DataAccessException

转载 作者:搜寻专家 更新时间:2023-10-30 19:49:32 25 4
gpt4 key购买 nike

现在我有 Spring Security 使用基本身份验证保护应用程序。用户详细信息来自 JDBC 源。如果数据库出现故障,用户加载机制的内部将抛出 DataAccessException。 .默认身份验证提供程序类,DaoAuthenticationProvider , 捕获异常并将其映射回 AuthenticationServiceException .这种映射的最终结果是浏览器/客户端收到 HTTP 代码 401。

我想做的是以不同的方式处理数据库不可用。至少,我希望通过响应 HTTP 503 来处理这个问题,但我更希望它重定向到错误页面。我怎样才能做到这一点?

编辑:Ritesh 的解决方案部分正确。除了实现您自己的 Basic 入口点之外,缺少的步骤还包括使用 v3.0.3 的安全模式,以便 <http-basic/>元素有 entry-point-ref属性。如果您不使用此特殊属性,默认的 Basic 过滤器将始终使用其自己的 Basic 入口点实现。

最佳答案

BasicAuthenticationEntryPointAuthenticationException 发送 401。您可以创建自己的自定义入口点来处理 AuthenticationServiceException 并发出 503。

其他选项是不在入口点执行任何操作并使用 SimpleMappingExceptionResolver 和/或实现您自己的 HandlerExceptionResolver

关于database - 在 Spring Security 中处理 DataAccessException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5576174/

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