Usuarios con diferentes acciones posibles
Publicado por Fran (13 intervenciones) el 14/04/2021 08:18:47
Hola a tod@s!
Ojalá y me puedan ayudar con esta duda. ¿Cómo puedo hacer para que al loguear un usuario en el programa que estoy haciendo le otorgue diferentes acciones o se activen diferentes botones?
Pego un poco de código a ver si me explico mejor:
Esto es en el main, en el que activo o desactivo algunos botones para un usuario standard:
Y el siguiente trozo de código es del cuadro de diálogo, en el que se checkea si el usuario está registrado:
La duda es cómo podría diferenciar que ese usuario encontrado es, por ejemplo, un administrador o un usuario normal?
Pensaba que en lugar de utilizar sólo una clase 'User", utilizar una clase "Admin" otra "estudiantes" y las que sean que hagan falta, pero claro, el método retorna un boolean, no lo privilegios de usuario.
Muchas gracias de antemano por toda vuestra ayuda.
Ojalá y me puedan ayudar con esta duda. ¿Cómo puedo hacer para que al loguear un usuario en el programa que estoy haciendo le otorgue diferentes acciones o se activen diferentes botones?
Pego un poco de código a ver si me explico mejor:
Esto es en el main, en el que activo o desactivo algunos botones para un usuario standard:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
private class ValidateAction implements ActionListener
{
@Override
public void actionPerformed(ActionEvent e)
{
/**
* This action makes JDialog checks
* if the data inputted are valid
* to login the user.
* If positive, Login and New User
* botton will be deactivated and
* Logout will be activated.
* And JDialog will be closed.
*/
if(dlgLogin.Validated())
{
btLogin.setEnabled(false);
btNewUser.setEnabled(false);
btLougout.setEnabled(true);
dlgLogin.dispose();
}
}
}
Y el siguiente trozo de código es del cuadro de diálogo, en el que se checkea si el usuario está registrado:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
public boolean Validated()
{
//Retrieve entered data
String name = jtName.getText();
String pass = jtPass.getText();
//Check that they are not empty
if(name.isBlank())
{
JOptionPane.showMessageDialog(null, "Name cannot be empty", "Validate data",
JOptionPane.WARNING_MESSAGE);
return false;
}
else if(pass.isBlank())
{
JOptionPane.showMessageDialog(null, "Password cannot be empty", "Validate data",
JOptionPane.WARNING_MESSAGE);
return false;
}
else
{
//Check if there is a user with that data in the arraylist
User checker = new User(name, pass);
for(User usu : users)
{
if(usu.equals(checker))
return true; //User found
}
//If the for loop has not returned true, there is no user with that data
JOptionPane.showMessageDialog(null, "There is no user with this data", "Validate data",
JOptionPane.INFORMATION_MESSAGE);
return false;
}
}
La duda es cómo podría diferenciar que ese usuario encontrado es, por ejemplo, un administrador o un usuario normal?
Pensaba que en lugar de utilizar sólo una clase 'User", utilizar una clase "Admin" otra "estudiantes" y las que sean que hagan falta, pero claro, el método retorna un boolean, no lo privilegios de usuario.
Muchas gracias de antemano por toda vuestra ayuda.
Valora esta pregunta


0