10. april 2001 - 12:19
Der er
8 kommentarer og 1 løsning
login skærmbillede
nedenstående kode virker fint, med undtagelse af at man skal taste passwordet ind 3x, hvad er der galt? <%@page import=\"sun.misc.BASE64Decoder\"%> <html> <head><title>JSP Page</title></head> <body> <% response.setContentType(\"text/html\"); response.setStatus(response.SC_UNAUTHORIZED); //ie 401 response.setHeader(\"WWW-Authenticate\",\"BASIC realm=\\\"Licensmanager v1\\\"\"); String logon = request.getHeader(\"Authorization\"); if (logon!=null) { String userInfo=logon.substring(6).trim(); BASE64Decoder decoder= new BASE64Decoder(); String NavnOgPassword= new String(decoder.decodeBuffer(userInfo)); int index= NavnOgPassword.indexOf(\":\"); String user = NavnOgPassword.substring(0,index); String pass = NavnOgPassword.substring(index+1); %> navn = <%=user%> <br> pass = <%=pass%> <% if ((user.equals(\"else\") && (pass.equals(\"else\")))) { %> <H4>HEJSA ELSE</H4> <% } } %> </body> </html>
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
10. april 2001 - 12:34
#1
Prøv følgende : <%@page import=\"sun.misc.BASE64Decoder\"%> <% String sesUser = (String)session.getValue(\"user\"); if( sesUser == null ) { response.setContentType(\"text/html\"); response.setStatus(response.SC_UNAUTHORIZED); //ie 401 response.setHeader(\"WWW-Authenticate\",\"BASIC realm=\\\"Licensmanager v1\\\"\"); String logon = request.getHeader(\"Authorization\"); if (logon!=null) { String userInfo=logon.substring(6).trim(); out.println( userInfo ); BASE64Decoder decoder= new BASE64Decoder(); String NavnOgPassword= new String(decoder.decodeBuffer(userInfo)); int index= NavnOgPassword.indexOf(\":\"); String user = NavnOgPassword.substring(0,index); String pass = NavnOgPassword.substring(index+1); if ((user.equals(\"else\") && (pass.equals(\"else\")))) { session.putValue(\"user\", \"loggedin\"); } } } %> <% if( session.getValue(\"user\") != null ) { %> logged in <%} else {%> not authorized <% } %> Mvh Anders
10. april 2001 - 12:34
#2
hvad kalder denne side ?
10. april 2001 - 16:54
#3
forbedring monz nu skal jeg kun skrive passwordet 2x, men det er stadig en gang for meget, virker det hos dig?
25. april 2001 - 13:53
#4
Løb logikken igennem en gang til!. Du vil på nuværende tidspunkt minimum skrive din header to gange. Og det er jo ikke meningen :) if (udefineret_bruger) { if (logon) { if (!checkBruger) { skrivHeader; } } else { skrivHeader; } else { skrivHeader; }
Her er et eksempel der virker ... <%@page import=\"sun.misc.BASE64Decoder\"%> <% String userInfo = \"No user info!\"; String sesUser = (String)session.getValue(\"user\"); if(sesUser == null) { response.setContentType(\"text/html\"); String logon = request.getHeader(\"Authorization\"); if (logon == null) { response.setStatus(response.SC_UNAUTHORIZED); //ie 401 response.setHeader(\"WWW-Authenticate\",\"BASIC realm=\\\"Licensmanager v1\\\"\"); } else { userInfo = logon.substring(6).trim(); BASE64Decoder decoder = new BASE64Decoder(); String NavnOgPassword = new String(decoder.decodeBuffer(userInfo)); int index= NavnOgPassword.indexOf(\":\"); String user = NavnOgPassword.substring(0,index); String pass = NavnOgPassword.substring(index+1); if ((user.equals(\"else\") && (pass.equals(\"else\")))) { session.putValue(\"user\", \"loggedin\"); } else { response.setStatus(response.SC_UNAUTHORIZED); //ie 401 response.setHeader(\"WWW-Authenticate\",\"BASIC realm=\\\"Licensmanager v1\\\"\"); } } } %> <html> <head><title>XXX</title></head> <body> userInfo = <%= userInfo %> <br /> <% if(session.getValue(\"user\") == null) { %> Not authorized <% } else { %> Logged in <% } %> </body> </html>
tak gnilre, laver du ikke lige et svar så får du point
Øhh - om igen. Her er et eksempel der virker ... <%@page import=\"sun.misc.BASE64Decoder\"%> <% String userInfo = \"No user info!\"; String sesUser = (String)session.getValue(\"user\"); if(sesUser == null) { response.setContentType(\"text/html\"); String logon = request.getHeader(\"Authorization\"); if (logon == null) { response.setStatus(response.SC_UNAUTHORIZED); //ie 401 response.setHeader(\"WWW-Authenticate\",\"BASIC realm=\\\"Licensmanager v1\\\"\"); } else { userInfo = logon.substring(6).trim(); BASE64Decoder decoder = new BASE64Decoder(); String NavnOgPassword = new String(decoder.decodeBuffer(userInfo)); int index= NavnOgPassword.indexOf(\":\"); String user = NavnOgPassword.substring(0,index); String pass = NavnOgPassword.substring(index+1); if ((user.equals(\"else\") && (pass.equals(\"else\")))) { session.putValue(\"user\", \"loggedin\"); } else { response.setStatus(response.SC_UNAUTHORIZED); //ie 401 response.setHeader(\"WWW-Authenticate\",\"BASIC realm=\\\"Licensmanager v1\\\"\"); } } } %> <html> <head><title>XXX</title></head> <body> userInfo = <%= userInfo %> <br /> <% if(session.getValue(\"user\") == null) { %> Not authorized <% } else { %> Logged in <% } %> </body> </html>
sorry... havde glemt jeg havde spørgsmålet åbent :(
hej.. jeg har prøvet de sidste to eksempler, det kører men den tager ikke imod user/pass... jeg benytter ordet \"else\" begge stedder, men det virker ikke.. hvad er det jeg overser??
Kurser inden for grundlæggende programmering