当前位置: 首页 > 面试题库 >

Spring Security不支持的配置属性

利思源
2023-03-14
问题内容

我有以下片段

<http use-expressions="true" auto-config="false"
        entry-point-ref="loginUrlAuthenticationEntryPoint"
        access-decision-manager-ref="accessDecisionManager" disable-url-rewriting="false">
        <!--<custom-filter position="CONCURRENT_SESSION_FILTER" ref="concurrencyFilter"
            /> -->
        <custom-filter position="FORM_LOGIN_FILTER"
            ref="usernamePasswordAuthenticationFilter" />
        <custom-filter position="LOGOUT_FILTER" ref="tapLockFilter" />

        <intercept-url pattern="/session/**" access="permitAll" />
        <intercept-url pattern="/deviceregistration/**" access="permitAll" />
        <intercept-url pattern="/session/lock" access="hasRole('ROLE_MEMBER')" />
        <intercept-url pattern="/app/resources/admin*" access="hasRole('ROLE_ADMIN')" />
        <intercept-url pattern="/app/SuperAppdashboard*" access="hasRole('ROLE_ADMIN')" />
        <intercept-url pattern="/app/*" access="hasRole('ROLE_MEMBER')" />


        <!--<session-management invalid-session-url="/tizelytics/session/invalidSession"
            session-authentication-error-url="/tizelytics/session/accessDenied" session-authentication-strategy-ref="sas">
            </session-management> -->

        <session-management invalid-session-url="/session/invalidSession"
            session-authentication-error-url="/session/accessDenied"
            session-fixation-protection="none">
            <concurrency-control max-sessions="1"
                expired-url="/session/accessExpired" />
        </session-management>
</http>

当我在服务器上运行它时,抛出一个异常说

不支持的配置属性:[permitAll,permitAll,hasRole(’ROLE_ADMIN’),hasRole(’ROLE_ADMIN’),hasRole(’ROLE_MEMBER’),hasRole(’ROLE_MEMBER’)]

这是我在同一xml中的access-decision-manager bean

<beans:bean id="accessDecisionManager"
        class="org.springframework.security.access.vote.AffirmativeBased">
        <beans:constructor-arg>
            <beans:list>
                <beans:bean
                    class="org.springframework.security.access.vote.AuthenticatedVoter" />
                <beans:bean class="org.springframework.security.access.vote.RoleVoter" />
            </beans:list>
        </beans:constructor-arg>
</beans:bean>

如果我删除了access-decision-manager-ref,则 不会引发异常,该应用程序将正确启动,有人可以请教吗?


问题答案:

由于您是定义自己的accessDecisionManager,因此我看不出WebExpressionVoter它是其列表中的bean之一。WebExpressionVoter做出决议弦喜欢permitAll()hasRole()hasAuthority()等,所以,你accessDecisionManager的bean应该是:

<beans:bean id="accessDecisionManager"
        class="org.springframework.security.access.vote.AffirmativeBased">
        <beans:constructor-arg>
            <beans:list>
                <beans:bean
                    class="org.springframework.security.access.vote.AuthenticatedVoter" />
                <beans:bean class="org.springframework.security.access.vote.RoleVoter" />
                <beans:bean class="org.springframework.security.web.access.expression.WebExpressionVoter" />
            </beans:list>
        </beans:constructor-arg>
</beans:bean>


 类似资料:
  • 我不明白我做错了什么?

  • 对于许多项目来说,不打破已有的约定,对于配置等有可预测的默认值是非常适合的。现在,Spring MVC对 约定优于配置 这个实践已经有了显式的支持。这意味着什么呢?意味着如果你为项目选择了一组命名上的约定/规范,你将能减少 大量 的配置项,比如一些必要的处理器映射、视图解析器、ModelAndView实例的配置等。这能帮你快速地建立起项目原型,此外在某种程度上(通常是好的方面)维护了整个代码库的一

  • 是否支持不同的测试配置文件?在我的本地测试期间,我想使用“mvn包”,它使用“测试”配置文件。这指向我的本地主机数据库。对于我的 DevOps 工具链,我想使用不同的测试配置文件,因为我们使用的是容器,不能使用本地主机。目标是区分本地计算机测试和云环境。测试。

  • 本文向大家介绍nginx配置支持php的pathinfo模式配置方法,包括了nginx配置支持php的pathinfo模式配置方法的使用技巧和注意事项,需要的朋友参考一下 nginx模式不支持pathinfo模式,类似info.php/hello形式的url会被提示找不到页面。下面的通过正则找出实际文件路径和pathinfo部分的方法,让nginx支持pathinfo。 要点: 1.~ \.php

  • 我希望将concur严格用作配置源。我正在使用spring cloud Consor配置来获取配置。我正在使用git2consul将文件加载到Consor并读取它们。根据spring云文档,我在构建中添加了以下内容。格拉德尔 并在我的application.properties 我面临的问题是,预期的属性没有加载到ConfigurationProperties bean中。在ConsultProp

  • 我正在浏览Docker撰写入门页面。 在步骤3中,我制作了一个文件如下所述: 但是当我跑的时候: 我发现以下错误: 服务“web”的配置选项不受支持 我做错了什么?我不知道发生了什么。

  • 是否支持使用fontFamily属性设置不同的字体

  • 我们正在将spring boot应用程序从2.2.4迁移到2.4.3 该应用程序可以使用内置的tomcat/tomcat war部署运行 环境:Windows Azul Java 11(Zulu 11)和Tomcat 9.0.33 如果我用Netbeans链接的tomcat运行代码,它就可以正常工作 如果我在同一个独立的tomcat中直接部署生成的war,它会抛出以下错误。 在阅读Spring文档