He utilizado Java EE 6 con Glassfish v3.0.1, y me pregunto si el modelo de seguridad Java EE admite ACL, y si es así, ¿qué tan preciso es?¿El modelo de seguridad Java EE es compatible con ACL?
EDITADO
implemento de seguridad utilizando reino JDBC a través de GlassFish v3, que el reino ante la mirada de ejecución en USUARIO tabla dentro de la base de datos para comprobar la autenticación, mirando el campo password
y autorización mirando el campo role
. El campo de roles solo contiene 2 ADMINISTRATOR
o DESIGNER
. Por lo tanto, se trata de un mapa de uno a uno entre el usuario y el rol. A nivel bean gestionado, he implementado este
private Principal getLoggedInUser()
{
HttpServletRequest request =
(HttpServletRequest) FacesContext.getCurrentInstance().
getExternalContext().getRequest();
if(request.isUserInRole("ADMINISTRATORS")){
admin = true;
}else{
admin = false;
}
return request.getUserPrincipal();
}
public boolean isUserNotLogin()
{
Principal loginUser = getLoggedInUser();
if (loginUser == null)
{
return true;
}
return false;
}
public String getLoginUserName()
{
Principal loginUser = getLoggedInUser();
if (loginUser != null)
{
return loginUser.getName();
}
return "None";
}
llamando isUserInRole
, puedo determinar si el usuario es admin
o no, entonces el JSF render
el contenido correctamente. Sin embargo, eso no es lo suficientemente detallado (información de fondo real rápida: hay varios proyectos, un proyecto contiene varios dibujos). Porque si u es un DESIGNER
, se puede ver todos los dibujos de todos los proyectos (lo que si sólo quiero tom
para trabajar en proyecto A
, mientras peter
trabajará en proyecto B
, Cindy
puede supervisados sobre los dos proyectos A
y B
). Quiero que, en tiempo de ejecución, cuando creo el usuario, pueda establecer específicamente qué proyecto puede ver. ¿Hay alguna manera de lograr esto? NOTA: hay más de dos proyectos, el ejemplo anterior es solo para la demostración.
Escribí algunos códigos usando el dominio jdbc para la seguridad, pero solo utiliza 'Principal', no sé cómo usar' Permisos' y 'Capacidades', ¿crees que puedo publicar algunos códigos y preguntar por tu opinión experta ? –
Esto siempre me ayudará, si no es mi caso, por parte de personas más conocedoras aquí. –
Acabo de actualizar mi publicación. Si no te importa, por favor guíame. Muchas gracias –