我有一个基于servlet的REST API。我必须根据路径参数有条件地打开/关闭身份验证。我有规则存储在数据库中。 所以我发现servlet3.0提供了HTTPServletRequest.authenticate(),它可用于以编程方式启动登录。 所以,我在web.xml中添加了以下内容
<login-config>
<auth-method>BASIC</auth-method>
</login-config>
在我的ServletFilter中,我有这个代码以编程方式启动登录
request.authenticate(response);
但我得到一个空指针异常
java.lang.NullPointerException
org.apache.catalina.connector.Request.authenticate(Request.java:2603)
org.apache.catalina.connector.RequestFacade.authenticate(RequestFacade.java:1059)
我错过了任何配置吗?感谢任何帮助。