当用户未能提供正确的凭证3次时,我必须禁用“用户名”&“密码”文本框。我应该使用JSP本身的逻辑(使用jQuery或JavaScript)或在控制器中使用。3次登录尝试失败时禁用文本框
PS:我必须在失败后重定向到登录页面。只需要更新错误消息“您的帐户已被禁用”。
下面是JSP:Login.jsp页面
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Login Form</title>
</head>
<body>
<form action="Login_Servlet_Test" method="POST">
Username <input type="text" name="uname"/><br>
Password <input type="text" name="paswd"/><br>
<input type="Submit" value="Submit"/>
</form>
</body>
</html>
下面是Servlet:LoginServlet
public class LoginServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public void init() throws ServletException {
//we can create DB connection resource here and set it to Servlet context
if(getServletContext().getInitParameter("dbURL").equals("jdbc:mysql://localhost/mysql_db") &&
getServletContext().getInitParameter("dbUser").equals("mysql_user") &&
getServletContext().getInitParameter("dbUserPwd").equals("mysql_pwd"))
getServletContext().setAttribute("DB_Success", "True");
else throw new ServletException("DB Connection error");
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//get request parameters for userID and password
String user = request.getParameter("user");
String pwd = request.getParameter("pwd");
//get servlet config init params
String userID = getServletConfig().getInitParameter("user");
String password = getServletConfig().getInitParameter("password");
//logging example
log("User="+user+"::password="+pwd);
if(userID.equals(user) && password.equals(pwd)){
response.sendRedirect("LoginSuccess.jsp");
}else{
RequestDispatcher rd = getServletContext().getRequestDispatcher("Login.jsp");
PrintWriter out= response.getWriter();
out.println("<font color=red>Either user name or password is wrong.</font>");
rd.include(request, response);
}
}
}
@Archana您将需要使用JavaScript相同,保持跟踪登录尝试在这里.. –
锁定的用户应该被标记在数据库中, 客户端处理很容易删除。 向用户模型添加登录计数器并在失败后进行更新,成功登录应重置计数器。 另一个字段应该是表示用户上次尝试登录的日期。如果这个领域大于X小时,你应该重置计数器以及 – navotgil
@navotgil良好的投入.. !!! –