怎么知道在java应用程序中登录的用户是哪个?

时间:2014-04-17 15:00:15

标签: java

我创建了一个java应用程序,其中需要登录凭据才能访问。我如何知道登录的用户是哪个?有什么方法可以知道吗?

我不知道他们是否意识到了疑问,如果不是我试着更好地解释。

---------------- CODE -----------------

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);
        }

}

enter image description here

想法是知道登录系统的用户是什么。 由于有几个用户,我想知道具体登录的内容。

2 个答案:

答案 0 :(得分:1)

您可以维护登录用户的集合,我认为HashMap足以满足您的目的。

 // This should be a class member
 Map<String, String> loggedInUsers = new HashMap<String, String>();

 // Now when user logs in add it to the HashMap
 loggedInUser.put(jTUser.getText(), jTUser.getText());

 // When a user logs out remove the user from the Map
 loggedInUser.remove(jTUser.getText());

如果您只想要一个简单的用户列表,那么您可以将它们存储在ArrayList中。

 List<String> loggedInUsers = new ArrayList<String>();
 loggedInUser.add(jTUser.getText());

答案 1 :(得分:0)

据我所知,您有一个系统可以对用户进行身份验证,同一个用户可以访问其他系统。在这些其他系统上,您想知道用户是谁。

您可以执行此操作:对用户进行身份验证后,创建一个唯一ID并将其放入会话中。然后在每次需要知道用户是否已登录时访问会话。对于其他系统,将该唯一ID传递给系统并允许他们查询用户。

流速: 1.用户登录 2.系统创建一个唯一的ID 3.将该id移动到用户对其他系统发出的每个请求 4.在其他系统上,允许他们访问身份验证服务器并根据ID进行查询。

这需要手动执行,而且有很多系统可以为您处理。

让您入门的链接

http://en.wikipedia.org/wiki/Single_sign-on

http://en.wikipedia.org/wiki/Federated_identity

相关问题