Get it on Google Play
Mas de 21 años en el mundo del IT corporativo

Seguridad y Permisos en Servlets Liferay

30-08-2019
Permisos Ciberseguridad Liferay

Permisos Ciberseguridad Liferay

Desde los portlets Liferay tenemos siempre acceso a toda la capa de servicios pero el tema cambia cuando lo hacemos desde un Servlet, el motivo es la capa de permisos que se inicializa al cargar el portlet pero no el Servlet.

Si queréis acceder a la capa de servicios de Liferay desde un servlet solo tenéis que hacer lo siguiente:

@Component(
    immediate = true,
    property = {
        "osgi.http.whiteboard.context.path=/",
        "osgi.http.whiteboard.servlet.name=com.lostsys.proyecto,servlet.MyServlet",
        "osgi.http.whiteboard.servlet.pattern=/miservlet",
        },
    service = Servlet.class)
public class MenuServlet extends HttpServlet {
  private static Long ADMIN_USER=new Long(20164);
	
  @Override
  protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    try {
      PermissionChecker pc=PermissionCheckerFactoryUtil.create( UserLocalServiceUtil.getUserById( ADMIN_USER ) );
      PermissionThreadLocal.setPermissionChecker(pc);
			
/* A partir de aquí ya podréis acceder a la capa de servicios */

El tema aquí es que debemos inicializar el objeto ‘PermissionChecker’ y ponerlo en el servicio de permisos de Liferay.

Si te ha servido, por favor comparte

Interesado en formación Liferay?

 

Leave a Reply