繁体   English   中英

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

[英]How to Handle Basic Authentication in java

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

在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并从请求中获取基本标头。 更多详情可在这找到:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM