gpt4 book ai didi

java - 如何在 java 中处理基本身份验证

转载 作者:行者123 更新时间:2023-12-01 23:08:01 25 4
gpt4 key购买 nike

我得到一个 REST url,其中包含以 Base64 编码的 Basic username@domain:password 格式作为 header 传递的基本身份验证信息。在我的 java 代码中,我如何实际验证凭据。我在 Websphere 服务器上部署了 EAR。我应该解码 Base 64 格式 header 并将凭据与 jndi 变量中的凭据进行比较吗?
(我想我对基本身份验证本身的实际流程感到困惑。)
谢谢

最佳答案

在 web.xml 中,您可以定义服务器应如何验证这些凭据的模式:

要处理基本身份验证,您必须进行以下配置:

<login-config>
<auth-method>BASIC</auth-method>
<realm-name>default</realm-name>
</login-config>

现在您可以通过安全约束来保护您的服务,例如:

<security-constraint>
<display-name>excluded</display-name>
<web-resource-collection>
<web-resource-name>No Access</web-resource-name>
<url-pattern>/rest/*</url-pattern>
<http-method>DELETE</http-method>
<http-method>PUT</http-method>
<http-method>HEAD</http-method>
<http-method>OPTIONS</http-method>
<http-method>TRACE</http-method>
<http-method>GET</http-method>
<http-method>POST</http-method>
</web-resource-collection>
<auth-constraint />
<user-data-constraint>
<transport-guarantee>NONE</transport-guarantee>
</user-data-constraint>
</security-constraint>

有关更多详细信息,请阅读以下教程: http://java.dzone.com/articles/understanding-web-security

Java EE 教程还讨论了安全性: http://docs.oracle.com/javaee/6/tutorial/doc/bncas.html

您还可以实现 ServletRequestListener 并从请求中获取基本 header 。更多详细信息可以在这里找到:

http://www.journaldev.com/1945/servlet-listener-example-servletcontextlistener-httpsessionlistener-and-servletrequestlistener

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

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