我使用登錄應用程序,它是驗證形式如果用戶名和密碼爲空。 現在我發送的用戶名和密碼像這樣 http://localhost:8080/LoginApp/loginAction.action?userName=jagannath&password=123然後也登錄成功,而不是填寫login.jsp表單頁面。在這種情況下,用戶不應該登錄。如何避免使用Struts2。用戶不應該使用查詢字符串登錄
1
A
回答
0
有兩種類型的驗證客戶端(Html/javascript_和服務器端(Java代碼)。 截至目前您只做客戶端驗證。您需要服務器端驗證與url param javascript驗證不是所謂的 - 即你輸入做驗證當PARAM傳遞,你需要在Java代碼中,以檢查它們是否有效或無效的示例代碼下面
public class LoginAction extends ActionSupport {
private String userName;
private String password;
public String execute() {
return SUCCESS;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public void validate() {
if (getUserName().length() == 0) {
addFieldError("userName", "UserName.required");
} else if (!getUserName().equals("Arpit")) {
addFieldError("userName", "Invalid User");
}
if (getPassword().length() == 0) {
addFieldError("password", getText("password.required"));
}
}
}
更多細節here
+1
對不起,但我猜這不是什麼OP是問。他從未說過或暗示他正在使用任何客戶端驗證。他詢問如何阻止來自用戶身份驗證的GET請求,並且只讓POST請求通過。 –
相關問題
- 1. 用戶登錄到查詢字符串信息
- 2. 用戶查詢字符串
- 3. 用戶應該登錄(moodle)
- 4. (sharp)#登錄查詢字符串和SEO
- 5. WP使用查詢字符串鍵自動登錄
- 6. 使用查詢字符串
- 7. 使用查詢字符串
- 8. 使用查詢字符串
- 9. 使用查詢字符串
- 10. 使用查詢字符串
- 11. 使用查詢字符串
- 12. 使用查詢字符串
- 13. 查詢字符串不使用jQuery
- 14. Mongodb查詢不能使用字符串
- 15. Mongodb查詢不能使用字符串
- 16. 使用查詢字符串查詢字符串列表?
- 17. Django 1.10使用登錄用戶的用戶名查詢表格
- 18. 使用查詢字符串過濾流沙使用查詢字符串
- 19. 用或使用查詢字符串elasticsearch
- 20. Facebook應用程序查詢字符串
- 21. 使用查詢字符串參數自定義ADFS登錄頁面
- 22. Android:使用Google帳戶登錄(使用Android查詢)
- 23. 使用用戶輸入構建SQL查詢字符串
- 24. httpget不適用於查詢字符串
- 25. Sql字符串查詢不起作用
- 26. 我應該登錄還是不登錄?
- 27. GWT:使用查詢字符串
- 28. 使用查詢字符串與Laravel
- 29. 使用db字符串作爲查詢
- 30. Ajax請求使用查詢字符串
顯示你的行動和ActionForm代碼。 ?您應該使用actionForm而不是查詢字符串。請點擊此處http://stackoverflow.com/que stions/18269343/struts-1-login-application-example-error –
我正在使用struts2 – jagannath
您需要編寫自定義攔截器並將其添加到自定義攔截器堆棧中。在攔截器中,只允許POST請求通過,並以更喜歡的方式拒絕GET請求。 –