Her ne kadar erişim ayarları yapılırken tüm içeriğin giriş yapmayan kullanıcı için kısıtlanması tercih edilen yöntem ise de başta "giriş sayfası" olmak üzere benzer sayfalara ve bunların kullandığı kaynaklara erişim izni verilmesi gerekir. Giriş sayfasında PrimeFaces bileşeni kullanıyorsanız sayfanızın erişmeye çalışacağı ve erişim izni olmadığı için de kullanamayacağı başlıca adres "/javax.faces.resource/*" olacaktır.
PrimeFaces ile yazılmış bu gibi sayfaların kullanıcı giriş yapmadan düzgün bir şekilde görüntülenmesi için yukardaki adresin güvenlik ayarlarınızda erişime açılmış olması gerekmektedir.
web.xml içerisinde örnek bir güvenlik kısıtlaması şu şekilde yapılmalıdır:
<security-constraint> <display-name>excluded</display-name> <web-resource-collection> <web-resource-name>All Access</web-resource-name> <url-pattern>/javax.faces.resource/*</url-pattern> </web-resource-collection> </security-constraint> <security-constraint> <display-name>Default Security Constraint</display-name> <web-resource-collection> <web-resource-name>Default</web-resource-name> <url-pattern>/*</url-pattern> </web-resource-collection> <auth-constraint> <role-name>ROLE_ADMINISTRATOR</role-name> </auth-constraint> </security-constraint>
Aynı şekilde Spring Security kullandığınız bir projede erişim ayarları şu şekilde yapılabilir:
<intercept-url pattern="/javax.faces.resource/**" filters="none" /> <intercept-url pattern="/**" access="ROLE_ADMINISTRATOR" />
Erişim kısıtlarını kendi geliştirdiğiniz bir yöntemle ele alıyorsanız PrimeFaces sayfaları için bu hususu umutmamanızda fayda var..