我想在我的Vaadin應用程序上設置用戶身份驗證,但我不想使用HTML或JSP頁面進行身份驗證。我想使用Vaadin API編寫代碼來捕獲用戶名&密碼並使用更多Java代碼將其提供給Glassfish。到目前爲止,我已經成功地檢索使用這個(基本)代碼來自用戶的用戶名和密碼:在沒有HTML登錄頁面的Vaadin中設置JDBC身份驗證
@Title("test")
@Theme("valo")
public class MyVaadinApplication extends UI {
private String user;
private String pwd;
@WebServlet(value = "/*", asyncSupported = false)
@VaadinServletConfiguration(productionMode = false, ui = MyVaadinApplication.class)
public static class Servlet extends VaadinServlet {
}
@Override
protected void init(VaadinRequest request) {
FormLayout form = new FormLayout();
setContent(form);
TextField nameField = new TextField("Name:");
PasswordField passField = new PasswordField("Password:");
Button button = new Button("Login");
form.addComponent(nameField);
form.addComponent(passField);
form.addComponent(button);
button.addClickListener(new Button.ClickListener() {
public void buttonClick(ClickEvent event) {
user = nameField.getValue();
pwd = passField.getValue();
Notification.show("Name=" + user + ", PWD=" + pwd, Notification.Type.TRAY_NOTIFICATION);
}
});
}
}
現在我嘗試使用用戶名/密碼字符串登錄,但我似乎無法找到這是一種手段。我發現這個驚人的文件,概括了我所需要的(在這裏找到:https://blogs.oracle.com/bobby/entry/authentication_without_the_form),但不幸的是,它非常過時,代碼不再存在。我嘗試搜索已使用的「getRequest()。login()」方法,但無法找到支持它的任何Vaadin類。有沒有人曾經這樣做過?任何幫助表示讚賞。
我實際上已經意識到它是在該示例中正在執行實際登錄的HttpServletRequest,但您已經提供了一些有用的文檔! – Niko
很高興我可以提供幫助,實際上我正在做一個類似Hibernate和Tomcat的項目,所以如果你需要任何其他的幫助,請問。 :) – tk12
你認爲你可以澄清如何獲取和設置屬性將有助於驗證?我今天重新回答你的答案,並且我正在努力實現你所說的。我正在嘗試使用JDBC用戶/ pw表和JDBC組表來驗證基於組的用戶。我知道如何使用用戶定義的HTML頁面進行認證(FORM認證),但我無法弄清楚如何用普通的'Java代碼來完成同樣的事情。謝謝! – Niko