2013-04-04 36 views
1

我正在運行tomcat 6並使用jsp,試圖在我的站點上使用tomcat BASIC的登錄頁面,我遵循這個和其他教程http://www.jguru.com/faq/view.jsp?EID=239670,但仍然沒有運氣......任何人都可以明確告訴我該怎麼辦?我知道基於表單的是更好,但我必須使用基本的,感謝添加基本身份驗證時出現問題

拋出的狀態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日誌。

+0

閱讀本教程,同時具有解釋和例子: Declarative Web Application Security](http://courses.coreservlets.com/Course-Materials/pdf/msajsp/03-Security-Declarative.pdf)。從第35頁開始說明* BASIC認證*並逐步給出如何設置BASIC認證的例子。本教程來自一系列流行的教程:[高級Servlet和JSP教程](http://courses.coreservlets.com/Course-Materials/msajsp.html) – informatik01 2013-04-04 18:21:47

+1

輝煌,我現在就去看看謝謝 – H65 2013-04-04 18:23:16

+0

你很受歡迎。 – informatik01 2013-04-04 18:24:27

回答

0

在你的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"/> 
+0

Yip我已經添加了所有內容,但是當我登錄時它拋出狀態500錯誤: – H65 2013-04-05 14:02:51

+0

我想知道這是否是問題,在我的web.xml中我有/intro/* .....第一頁的地址是http:// localhost:8080/intro/Question_1.jsp ....這是錯誤嗎? – H65 2013-04-05 14:30:18

+0

@ Heafy65就你而言,'intro'是你的web應用程序的「上下文根」。指定映射時,請勿在''內寫入。 **正斜槓**代表「根上下文」。因此,只需將'/*'。另請參閱有關將請求映射到servlet的答案:http://stackoverflow.com/a/14225540/814702 – informatik01 2013-04-05 16:13:55