Java 添加基本身份验证时遇到问题

Java 添加基本身份验证时遇到问题,java,jsp,authentication,tomcat,basic-authentication,Java,Jsp,Authentication,Tomcat,Basic Authentication,我正在运行tomcat 6并使用jsp,试图在我的站点上创建一个使用tomcat BASIC的登录页面,我遵循了本教程和其他教程,但仍然没有成功……有人能明确地告诉我该怎么做吗?我知道基于表单更好,但我必须使用basic,谢谢 引发的状态500错误如下所示 类型异常报告 信息 说明服务器遇到内部错误,无法满足此请求 例外情况 javax.servlet.ServletException: java.lang.NoClassDefFoundError:org/apache/ja

我正在运行tomcat 6并使用jsp,试图在我的站点上创建一个使用tomcat BASIC的登录页面,我遵循了本教程和其他教程,但仍然没有成功……有人能明确地告诉我该怎么做吗?我知道基于表单更好,但我必须使用basic,谢谢

引发的状态500错误如下所示

类型异常报告

信息

说明服务器遇到内部错误,无法满足此请求

例外情况

    javax.servlet.ServletException: 

    java.lang.NoClassDefFoundError:org/apache/jasper/compiler/ErrorDispatcher
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:268)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
根本原因

    java.lang.NoClassDefFoundError: org/apache/jasper/compiler/ErrorDispatcher
org.apache.jasper.compiler.Compiler.compile(Compiler.java:350)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:334)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:321)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:592)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:328)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

注意,根本原因的完整堆栈跟踪可在Apache Tomcat/6.0.35日志中找到。

在web.xml中,您至少需要:

   <security-role><role-name>member</role-name></security-role>
   <security-role><role-name>admin</role-name></security-role>

   <login-config>
    <auth-method>BASIC</auth-method>
   </login-config>

   <security-constraint>
    <web-resource-collection>
        <web-resource-name>For Members and Admin Only</web-resource-name>
        <description>This Description is Optional</description>
        <url-pattern>/Examples/protected/*</url-pattern>
    </web-resource-collection>

    <auth-constraint>
        <role-name>admin</role-name>
        <role-name>member</role-name>
    </auth-constraint>

   </security-constraint>
在tomcat-users.xml中,您需要以下内容:

  <role rolename="member"/>
  <role rolename="admin"/>
  <user username="ricky" password="rrrrr" roles="admin,member"/>

阅读本教程,其中包含解释和示例:。第35页解释了基本身份验证,并给出了如何设置基本身份验证的逐步示例。本教程来自流行的系列教程:精彩,我现在就去看看谢谢,当然还有一位官员可能会有所帮助。我尝试了基本和形式,因为我无法使用基本功能,仍然没有乐趣:精彩,谢谢!!Yep我已经添加了所有这些,但是当我登录时,它抛出了一个状态500错误:我想知道这是否是问题所在,在我的web.xml中,我有/intro/*……第一页的地址是。。。。这可能是错误吗?@Heafy65在您的情况下,intro是您的web应用程序上下文根。指定映射时不要在内部写入。正斜杠表示根上下文。所以只要把/*。另请参见以下关于将请求映射到servlet的回答: