2014-02-28 111 views
1

所以我有一個登錄系統,它使用3個輸入登錄,所有的細節都在SQL數據庫中。我想知道如何根據第一個來檢查這三個是否爲真,但我認爲這樣做的唯一方法是使用嵌套的if循環。 在我查詢了數據庫並將數據輸入到數據庫後,我有3條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)。 –