如何知道在java应用程序中登录的用户是谁?
我创建了一个java应用程序,需要登录凭据才能访问。我怎么知道哪个用户登录了?有办法知道吗
我不知道他们是否意识到了这个疑问,如果没有,我会尝试更好地解释
-------代码-----------------
private void jBLoginActionPerformed(java.awt.event.ActionEvent evt) {
String sql="select * from logins where username=? and password=? and idTipoLogin=?";
try{
pst=(PreparedStatement) conexao.prepareStatement(sql);
pst.setString(1, jTUser.getText());
pst.setString(2, jPass.getText());
pst.setString(3, jComboBoxTipoLogin.getSelectedItem().toString());
rs=pst.executeQuery();
if(rs.next()){
String idTipoLogin = rs.getString("idTipoLogin");
if (idTipoLogin.equals("Administrador")) {
jTTarefasAdmin ah = new jTTarefasAdmin();
ah.setVisible(true);
}
else {
jTTarefasTecnico eh = new jTTarefasTecnico();
eh.setVisible(true);
}
this.setVisible(false);
}
else{
JOptionPane.showMessageDialog(null, "User Invalid");
}
}catch(Exception e){
JOptionPane.showMessageDialog(null, e);
}
}
目的是了解登录系统的用户是什么。 由于有几个用户,我想知道登录时具体访问了什么
# 1 楼答案
据我所知,你有一个系统对用户进行身份验证,同一个用户可以访问其他系统。在这些其他系统上,你想知道用户是谁
您可以这样做:一旦用户通过身份验证,创建一个唯一的id并将其放入会话中。然后在每次需要了解用户是否登录时访问会话。对于其他系统,将该唯一id传递给系统,并允许它们为用户查询
流量: 1.用户登录 2.系统创建一个唯一的id 3.将该id与用户向其他系统发出的每个请求一起移动 4.在其他系统上,允许他们访问身份验证服务器并基于id进行查询
这需要手动完成很多工作,而且有很多系统可以为您处理这一切
链接让你开始
http://en.wikipedia.org/wiki/Single_sign-on
http://en.wikipedia.org/wiki/Federated_identity
# 2 楼答案
你可以维护一个登录用户的集合,我认为一个HashMap就足够了
如果你只是想要一个简单的用户列表,那么你可以将他们存储在ArrayList中