我试图根据用户角色限制对JSF页面的访问。我看到很多使用过滤器的例子。所以我在那里很好。我试图把我的xhtml文件放在" secure"我需要保护的webapp文件夹下的文件夹。我需要允许访问的一个xhtml文件" admin"用户是newAuth.xhtml,我把它放在" secure"夹。在我的菜单页面上,访问" newAuth.xhtml"我给了包括" secure"夹。所以页面出现了url" server:port / signer / secured / newAuth.xhtml"。现在,当我试图删除" secure"来自浏览器URL的路径,它仍然显示此页面。我在web.xml中有FacesServlet的以下映射。
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.xhtml</url-pattern>
</servlet-mapping>
我不确定当从网址中删除路径/安全时,如何保护页面不被显示。
更新
狮子座,可能是我本来应该更好地解释我的问题。 我想根据url中的路径实现安全过滤器。如果网址已经/安全,如果用户是非管理员,那么我会将它们重定向到某个默认页面。这是我的想法,所以我将所有受限制的xhtml放在webapp文件夹下的安全文件夹中。例如,newAuth.xhtml是一个受限制的xhtml页面,只有管理员才能访问。此页面可通过以下网址访问。
&#34;协议://服务器:端口/签名者/固定/ newAuth.xhtml&#34;
然后我尝试从网址中删除/ secured,但显示相同的页面。不知怎的,即使没有/ secure路径,JSF也能找到xhtml。此行为将违反我的安全过滤器逻辑,该逻辑将在url路径中查找/保护。