2014-02-28 2 views
1

그래서 3 개의 입력을 사용하여 로그인하고 모든 세부 사항이 SQL 데이터베이스에있는 로그인 시스템이 있습니다. 나는 세 가지가 모두 첫 번째 사실에 기반을두고 있는지 확인하는 방법을 알고 싶지만 중첩 된 if 루프를 사용하는 것이 유일한 방법이라고 생각합니다. 데이터베이스에 쿼리 한 후 데이터를 입력하면 중첩 될 수 없다고 생각하는 3 if 문이 있습니다.중첩 된 If 문 JSTL/JSP/HTML

<c:forEach var="i" begin="0" end="3"> 
<c:if test="${param.Login == result.rows[i]['Login']}"> 
<c:if test="${param.Cust_Acc_No == result.rows[i]['Cust_Acc_No']}"> 
<c:if test="${param.password == result.rows[i]['password']}"> 
<c:set var="Greeting" value="Congratulations Mr.${result.rows[i]['surname']}" scope="session"/> 
</c:if> 
</c:if> 
</c:if> 
</c:forEach> 

그래서 나는 테이블의 모든 튜플을 통해 루프를 원하고 로그인 입력하면 다음 입력 한 계좌 번호가 마침내 다음 암호와 일치하고 있는지 살펴 튜플의 로그인과 일치합니다. 그러면 사람의 이름이 인사말에 저장되고 결국 계정 페이지로 이동하여 인사하고 모든 세부 정보를 볼 수 있습니다. 어떤 아이디어? 이것을 중첩 시키거나 가능하다면 어떻게 사용할 수 있습니까? (사용법은 완전히 모르겠습니다!)

답변

0

JSP 페이지에서이 검사를 수행하지 않겠습니다. 인증을 위해 맞춤 설정을 원하면 servlet을 사용하여 매개 변수를 처리하고 승인 된 사용자를 다루고 있는지 확인하고 filter을 사용하여 제한된 콘텐츠를 투사하십시오.

Apache Shiro과 같은 보안 프레임 워크를 사용하여 자신 만의 authentication handler을 만들 수 있다고 생각해도 좋습니다.

+0

내 접근 방식이 가능합니까? 나는 심오하거나 전문적인 것을 필요로하지 않는다. – JamesDonnelly

+0

[JSTL SQL 태그] (http://docs.oracle.com/javaee/1.4/tutorial/doc/JSTL7.html) 사용을 고려해 볼 수도 있습니다. –