2014-10-13 4 views
2

신선한 페이지에서만 작동하는 j_security 로그인 양식이 있습니다. 과거 기록 없음, 이전 로그인 없음 및 실패한 로그인 없음을 의미합니다. 페이지가 최신 상태이고 사용자가 잘못된 암호를 입력하면 적절한 오류가 나타납니다. 그러나 사용자가 올바른 비밀번호를 입력하면 HTTP Status 400 - Invalid direct reference to form login page이 나타나고 브라우저의 기록이 지워지고 페이지가 다시로드 될 때까지 로그인이 일시 중지됩니다. 여기 j_security_check은 신선한 페이지에서만 작동합니다

HTTP 400

는 로그인 코드입니다. Dropdown.getXML은 개발 환경에 따라 url을 변경합니다. 이 경우 올바른 개발로 변경됩니다.

<form id="login" name="j_security_form" action="<%out.write(Dropdown.getXML("https://www.example.com/public/j_security_check")); %>" method="post" accept-charset="UTF-8"> 
      <strong>Account Login</strong><br> 
       Username:<br> 
        <input type="text" name="j_username"><br> 
       Password:<br> 
        <input type="password" name="j_password"><br> 
       <br> 
        <input type="submit" value="Login"><br> 
       <br> 
        New users <a href="../user_registration.jsp">register here</a><br> 
        <a href="../forgot_password.jsp">Forgot password?</a> 
        <input type="hidden" name="auth_mode" value="basic">   
       <script> 
       var newloc = document.location.href; 
       newloc =newloc.replace('index.jsp','index.jsp'); 
       document.write('<input type="hidden" name="orig_url" value="'+newloc+'">'); 
       </script> 
     </form> 

이 문제의 해결책을 찾으십시오. 도와 주셔서 감사합니다.

답변

0

web.xml에서 로그인 페이지로 지정한 페이지에 직접 액세스하지 않아도됩니다. 이 로그인 페이지는 보안 리소스에 액세스하려고 시도 할 때 사용자가 리디렉션되고 아직 로그인하지 않은 특별 페이지입니다. 당신이 로그인 페이지에 직접 접근이 필요하거나 보호되지 않은 페이지에 로그인 폼을 표시하는 경우

, 당신은 관리 등 콩 (JSF),

Using Programmatic Security with Web Applications

을 서블릿에서의 프로그램에 로그인을 구현할 수 있습니다
관련 문제