texto sirve que para metodos enriquecido create java security jsf container-managed

java - sirve - URL protegidas que filtran componentes no protegidos de webapge a usuarios no autenticados



para que sirve el jtextpane en netbeans (1)

Creo que implementar seguridad para una aplicación JSF a través de <login-config> + <security-constraint> + <security-role> y mediante el uso de <filter> son dos formas diferentes. Son ellos ?

Traté de implementar seguridad a través del primer método anterior (usando <login-config> + <security-constraint> + <security-role> ) pero encontré que mi página web protegida que usaba componentes HTML protegidos y desprotegidos se entregaba con recursos desprotegidos, incluso a los usuarios no autenticados.

Necesito proteger las URL por completo para que las URL protegidas ni siquiera filtren ninguna parte de esa página web a los usuarios no autenticados. ¿Cómo hago eso?

Y, ¿la implementación de seguridad usando <filter> en web.xml una forma autogestionada para lidiar con la seguridad? Creo que entonces usted puede personalizar la seguridad de manera más precisa a medida que filtre / capture cada una de las solicitudes.


De hecho, son dos formas distintas. La <security-constraint> es parte de la autenticación administrada por contenedor (CMS). El Filter es parte de la autenticación interna.

Para restringir el acceso a ciertos recursos con CMS, solo tiene que configurar su <url-pattern> :

<security-constraint> <web-resource-collection> <web-resource-name>Application</web-resource-name> <url-pattern>/app/*</url-pattern> </web-resource-collection> <auth-constraint> <role-name>someRoleName</role-name> </auth-constraint> </security-constraint>

El ejemplo anterior pone la restricción en todas las URL que coinciden con /app/* y permite el acceso a los usuarios con someRoleName solamente.

Para restringir el acceso a ciertos recursos con un Filter , también debe establecer su <url-pattern> :

<filter> <filter-name>authenticationFilter</filter-name> <filter-class>com.example.AuthenticationFilter</filter-class> </filter> <filter-mapping> <filter-name>authenticationFilter</filter-name> <url-pattern>/app/*</url-pattern> </filter-mapping>

Solo tiene que definir roles en otro lugar, quizás como un <init-param> del filtro.