java - JSF 2.1 Web 应用程序上的 Spring Security

标签 java spring security jsf web

我刚刚开始使用 Spring Security 3.1,我还没有找到在 JSF 2.1 网络应用程序之上实现它的方法。我目前有:

带有以下内容的 web.xml:

    <context-param>
    <param-name>contextConfigLocation</param-name>
        <param-value>classpath:applicationContext-business.xml
                     /WEB-INF/applicationContext-security.xml
       </param-value>

<filter>
<filter-name>springSecurityFilterChain</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>

<filter-mapping>
<filter-name>springSecurityFilterChain</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

   <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

还有我的 applicationContext-security.xml:

<beans:beans xmlns="http://www.springframework.org/schema/security"
xmlns:beans="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans 
                http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
                http://www.springframework.org/schema/security 
                http://www.springframework.org/schema/security/spring-security-3.1.xsd">



<http pattern="/resources/**" security="none" />

<http use-expressions="true">
<intercept-url pattern="/administracion/departamentos/**" access="recursoshumanos" />
<intercept-url pattern="/administracion/derechos/**" access="recursoshumanos" />
<intercept-url pattern="/administracion/diasfestivos/**" access="recursoshumanos" />
<intercept-url pattern="/administracion/dias/**" access="recursoshumanos" />
<intercept-url pattern="/administracion/solicitudes/**" access="recursoshumanos" />
<intercept-url pattern="/administracion/empleados/**" access="recursoshumanos" />

</http>


<authentication-manager>
    <authentication-provider>
        <user-service>
            <user name="rod" password="koala" authorities="recursoshumanos" />
            <user name="dianne" password="emu" authorities="jefe" />
            <user name="scott" password="wombat" authorities="jefe" />
        </user-service>
    </authentication-provider>
</authentication-manager>

我猜这个示例可以与常规 .jsp 一起使用,但我可能缺少使其与 JSF 一起使用的额外步骤,不幸的是,到目前为止我还没有找到一个完全可用的示例。我需要做什么?谢谢!

编辑:问题是我仍然可以在不需要登录的情况下自由导航到应用程序的安全区域。

编辑:顺便说一句,我刚刚注意到对 Web 应用程序根目录的过滤器确实会触发身份验证机制。尽管如此,它仍然在其他任何地方都失败了。

最佳答案

当局应该从

开始

ROLE_

看这里Spring Security FAQSO

关于java - JSF 2.1 Web 应用程序上的 Spring Security,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9705815/

相关文章:

java - 尝试从数据库白色 EhCache 引导过程加载数据时出现异常

python - 如何使用 python 连接到远程 OpenVas 扫描仪?

eclipse 中的 javacpp 不起作用——ClassNotFoundException(使用 JNI)

java - JDBC 删除条件语句

java - Hadoop WordCount代码,显示以下错误

java - Spring RMI错误java.lang.ClassNotFoundException : org. springframework.remoting.rmi.RmiInvocationHandler

java - 带有 filterSecurityInterceptor 的 Spring FilterChainProxy 无法正常工作?

Spring Security - 具有 user-service-ref 属性的 JEE 标签丢失映射角色

asp.net-mvc - MVC 输入中的 Html 编码

c# - 通过 Postman 进行 HMAC 身份验证