0

可能重复:
Spring Security Authentication 在我的配置中没有按预期工作

我尝试集成 JSF 和 spring security 我花了将近一天但没有结果

使用 JSF、Spring MVC 和 Primfaces 开发了一个应用程序。我几乎完成了我的要求,最后我计划集成弹簧安全,但我不能,我在网上做了足够的搜索。我觉得这可能是相关框架中的错误。

如果你们中的任何人遇到相同的情况,请发布解决方案。我在这里发布我的方法

第 1 步: 创建 Login.jsp(自定义登录页面) 第 2 步: 在我的 web.xml 中添加以下代码

<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>
    <dispatcher>FORWARD</dispatcher>
<dispatcher>REQUEST</dispatcher>
</filter-mapping>

第 3 步:

创建 Springsecurity.xml

<sec:global-method-security
    secured-annotations="enabled" />
<sec:http auto-config="true" use-expressions="true"
    once-per-request="false">
    <sec:intercept-url pattern="pages/secured/**"
        access="ROLE_USER" />
    <sec:form-login login-page="/login.jsp"
        default-target-url="/pages/secured/products.xhtml"
        authentication-failure-url="/login.html?login_error=1" />
    <sec:logout logout-url="/logout" logout-success-url="/login.jsp" />
</sec:http>

<sec:authentication-manager alias="authenticationManager">
    <sec:authentication-provider>
        <sec:user-service>
            <sec:user name="vijay" authorities="ROLE_USER" password="vijay"/>
        </sec:user-service>
    </sec:authentication-provider>
</sec:authentication-manager>

执行应用程序并将 login.jsp 作为第一页,因为我在 web.xml 中定义。在登录身份验证时,它会转发到 Products.xhtml,但我什至可以访问所有位于安全文件夹下的其余页面,而无需登录。

请提出更好的方法或其他替代方案。

4

1 回答 1

0

对于您的访问属性,请尝试一下。模式中缺少您的第一个斜线。

<sec:intercept-url pattern="/pages/secured/**"
    access="hasRole('ROLE_USER')" />
于 2013-01-10T20:04:29.650 回答