Avatar billede ktl Nybegynder
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>
Avatar billede monz Nybegynder
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
Avatar billede disky Nybegynder
10. april 2001 - 12:34 #2
hvad kalder denne side ?
Avatar billede ktl Nybegynder
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?
Avatar billede kichian Nybegynder
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;
}
   
Avatar billede gnilre Nybegynder
25. maj 2001 - 07:44 #5
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>
Avatar billede ktl Nybegynder
26. maj 2001 - 08:37 #6
tak gnilre, laver du ikke lige et svar så får du point
Avatar billede gnilre Nybegynder
28. maj 2001 - 22:48 #7
Ø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>
Avatar billede ktl Nybegynder
18. juli 2001 - 10:13 #8
sorry... havde glemt jeg havde spørgsmålet åbent :(
Avatar billede warpgiga Nybegynder
25. juli 2001 - 00:36 #9
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??

Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester