gpt4 book ai didi

java - 如何处理 Java HttpServer 中失败的身份验证

转载 作者:行者123 更新时间:2023-12-01 15:24:59 27 4
gpt4 key购买 nike

我在我的Java程序中基于com.sun.net.httpserver.HttpServer实现了一个小型HTTP服务器,它也使用基本身份验证。这一切都工作正常,但是,我想处理任何失败的身份验证请求。

默认情况下,当用户身份验证失败时(当她点击浏览器登录弹出窗口上的“取消”按钮时),一个空白页面将发送回客户端;没有调用HttpHandler的handle()方法。

有什么想法可以在我的程序中捕获这些失败的身份验证尝试吗?

谢谢!

最佳答案

查看了文档...我认为您可以通过从身份 validator 返回 Authenticator.Retry 结果并在其中指定新 header “Location:http://mysite/loginpage”或您想要重定向的任何内容来完成此操作(请记住,您需要指定以 http://开头的绝对 URL,而不是相对 url/loginpage)

编辑:如果您使用的是 BasicAuthenticator 的子类,您还需要重写验证方法,您需要查看原始源代码(请参阅 http://xantorohara.blogspot.com/2008/07/sources-of-comsunnethttpserverhttpserve.html )以了解原始验证方法的作用...或者您可以在您的authenticate()方法中进行实验,看看super.authenticate()返回什么,如果是失败,您可以发送带有Location: header的Retry

关于java - 如何处理 Java HttpServer 中失败的身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10288960/

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