17. september 2002 - 11:26Der er
15 kommentarer og 1 løsning
Servlet fejl??
Hej!
Vi er nogle stykker, som har udviklet en dynamisk hjemmeside i JSP med bl.a. servlets, hvor man skal logge ind for at tilgå siden... I vores lokale udviklingsmiljø passerede den alle tests, men når vi uploader applikationen til webhotellet, får vi følgende fejl, når vi forsøger at logge ind:
java.security.AccessControlException: access denied (java.io.FilePermission /home/.sites/95/site335/web/WEB-INF/classes/Brandtex/Menu.class read) at java.security.AccessControlContext.checkPermission(AccessControlContext.java:272)
Er det noget, som nogen ved hvad er?? Udbyderen ligner et spørgsmålstegn, og vi sidder tilbage med spørgsmålet, om det er udbyderen, som mangler at sætte nogle rettigheder op på sitet, eller om det er os, som har lavet en kodefejl eller fejl i web.xml... Udførlig hjælp foretrækkes, men alt kan bruges!!
Vores Login.jsp indeholder en action, som kalder servlet/Login, hvis vi ændrer denne til den direkte sti, får vi en anden fejl, som omhandler en evt. manglende CGI opsætning...
Den første tanke er, at jeres kode ikke har tilladelse til at læse i filsystemet. Det lyder dog meget mystisk, med mindre i er udbyderens allerførste kunde, burde den slags være på plads.
Så der må ligge et eller andet mysterie bag. Hvordan er jeres login lavet, er det noget med manuel check op mod en databse, eller er det noget med nogle roller der er defineret i web.xml?
Post evt hele stacktracen fra din exception (og ikke kun starten af den), samt evt også din servlet-kode. I hvert fald vil det være rrt at se den del af din kode, der optræder først i beskrivelsen af din excreption.
Det er en form fra en .jsp, som poster en servlet (Login.class). Denne servlet kontrollerer brugernummer samt password op mod databasen, som kaldes fra en dbHandler.class - denne optræder dog ikke i stacktracen og samme fejl kommer lige meget, om man logger ind med det korrekte brugernummer og password eller ej...
Ved alle .jsp filer, som bruger en bean forekommer samme fejl - bortset fra at det er en anden bean/servlet.
java.security.AccessControlException: access denied (java.io.FilePermission /home/.sites/95/site335/web/WEB-INF/classes/Login.class read) at java.security.AccessControlContext.checkPermission(AccessControlContext.java:272) at java.security.AccessController.checkPermission(AccessController.java:399) at java.lang.SecurityManager.checkPermission(SecurityManager.java:545) at java.lang.SecurityManager.checkRead(SecurityManager.java:890) at java.io.File.lastModified(File.java:636) at org.apache.tomcat.loader.AdaptiveClassLoader.shouldReload(AdaptiveClassLoader.java:358) at org.apache.tomcat.loader.AdaptiveServletLoader.shouldReload(AdaptiveServletLoader.java:124) at org.apache.tomcat.core.ServletWrapper.handleReload(ServletWrapper.java:431) at org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:348) at org.apache.tomcat.core.ContextManager.handleStatus(ContextManager.java:1081) at org.apache.tomcat.facade.HttpServletResponseFacade.sendError(HttpServletResponseFacade.java:214) at org.apache.tomcat.facade.HttpServletResponseFacade.sendRedirect(HttpServletResponseFacade.java:228) at Login.doPost(Login.java:63) //Vores servlet at javax.servlet.http.HttpServlet.service(HttpServlet.java:760) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:402) at org.apache.tomcat.core.Handler.service(Handler.java:287) at org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372) at org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:812) at org.apache.tomcat.core.ContextManager.service(ContextManager.java:758) at org.apache.tomcat.service.connector.Ajp12ConnectionHandler.processConnection(Ajp12ConnectionHandler.java:166) at org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:416) at org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java:501) at java.lang.Thread.run(Thread.java:484)
if (username.compareTo("") ==0 || password.compareTo("") ==0) { res.sendRedirect("../index.jsp?error"); } int last=0; try { Integer.parseInt(username); db= new dbHandler(); db.connectToDB(); resSet = db.getResultSet("select * from User where UserNumber="+username+" and Password='"+password+"' and Active='Active';"); db.closeDB(); resSet.last(); last = resSet.getRow(); if (last>0){ session.putValue("username",resSet.getObject("UserNumber")); session.putValue("securityLevel",resSet.getObject("SecurityLevel")); res.sendRedirect("../loggedOn.htm"); } else { res.sendRedirect("../index.jsp?error"); }
Når jeg skriver "version af jsdk", så mener jeg, hvilken version af servlet-api'et ligger den i? Vi har arbejdet med version 2.1, men her findes den ikke i... hvor langt skal man op i versionerne for at getRequestDispatcher er med??
En ny tanke: kan det tænkes, at alle vores problemer bunder i, at vores udbyder slet ikke understøtter en nyere version af servlet-api'et??
Vores udbyder er webbee.dk... Har du kendskab til en anden udbyder (du kan anbefale) for vores tålmodighed med deres meget mangelfulde support er meget snart ved at slippe op!
Vi prøver lige dit trick - og ellers har vi en aftale med webbee om enestående support i morgen... hvis det ikke gør tricket skal vi nok til at se os omkring efter en anden udbyder...
Jeg kender desværre ikke noget til webhoteller. Mener dog at set et spørgsmål eller to omkring det tidligere på eksterten.
Men jeg må nok indrømme at jeg er lidt blank. Da jeg så spørgsmålet først, hahvde jeg mistanke om, at den anonyme webbruger ikke havde læs-adgang til klassefilerne (dvs at Everyone har læs-rettigheder til filerne). I kan evt spørge dem i morgen, om det er tilfældet, for det er absolut nødvendigt. Men umiddelbart lyder den detaljerede fejlbesked, som om det faktisk er tilfældet, og så må jeg nok give op. (det ville nok hjælpe lidt, hvis man kunne se serverens opsætning).
Men som sagt tror jeg mest på at det er et problem hos jeres udbyder, og ikke jeres fejl.
Vi har fundet en anden udbyder og efter ganske lidt arbejde, ser det ud til at det hele fungerer optimalt!
Jeg kan kun give vores nye udbyder, pil.dk, de varmeste anbefalinger - og råde andre til at holde sig langt væk fra vores tidligere udbyder, webbee.dk!
Det må da også være rart at vide, at det ikke var jeres skyld!
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.