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

Spring拦截网址配置中的ROLE_USER和ROLE_ANONYMOUS有什么区别?

聂溪叠
2023-03-14
问题内容

在Spring拦截url配置中,ROLE_USER和ROLE_ANONYMOUS之间有什么区别(例如以下示例)?

<http auto-config="false" access-decision-manager-ref="accessDecisionManager"
    use-expressions="true">
    <intercept-url pattern="/admin/**" access="hasRole('ROLE_ANONYMOUS')"
        requires-channel="http" />
    <intercept-url pattern="/login/**" access="hasRole('ROLE_ANONYMOUS')"
        requires-channel="${application.secureChannel}" />
    <intercept-url pattern="/error/**" access="hasRole('ROLE_ANONYMOUS')"
        requires-channel="http" />
    <intercept-url pattern="/register/**" access="hasRole('ROLE_ANONYMOUS')"
        requires-channel="${application.secureChannel}" />
    <intercept-url pattern="/" access="hasRole('ROLE_ANONYMOUS')"
        requires-channel="http" />
    <intercept-url pattern="/**" access="hasRole('ROLE_USER')"
        requires-channel="http" />
    <form-login login-page="/login" login-processing-url="/login/submit"
        authentication-failure-url="/login/error" />
    <logout logout-url="/logout" />
</http>

问题答案:

当配置使用Spring Security的“匿名身份验证”过滤器时,ROLE_ANONYMOUS是分配给未经身份验证的(匿名)用户的默认角色。默认情况下启用。但是,如果使用具有相同含义的表达式
isAnonymous() 可能会更清楚。

ROLE_USER没有任何意义,除非您在用户经过身份验证时将其分配给用户(您负责为经过身份验证的用户加载角色(权限))。它不是Spring
Security的基础结构中内置的名称。在给定的示例中,假定该角色已分配给经过身份验证的用户。



 类似资料:
  • 本文向大家介绍请问Struts拦截器和Spring AOP有什么区别?相关面试题,主要包含被问及请问Struts拦截器和Spring AOP有什么区别?时的应答技巧和注意事项,需要的朋友参考一下 考察点:框架 参考回答: 拦截器是AOP的一种实现,struts2 拦截器采用xwork2的interceptor!而spring的AOP基于IoC基础,其底层采用动态代理与CGLIB代理两种方式结合的实

  • 我想添加spring mvc拦截器作为Java配置的一部分。我已经有了一个基于xml的配置,但是我正在尝试使用Java的配置。对于拦截器,我从spring的文档中知道可以这样做- 但我的拦截器使用了一个spring豆,就像下面这样- SomeService类如下所示- 我使用这样的注释来扫描bean,并且没有在配置类中将它们指定为 根据我的理解,由于Java配置使用new来创建对象,所以sprin

  • 问题内容: 我正在尝试清除有关Java EE中的拦截器的概念。我已经阅读了Java EE规范,但对此并不太困惑。请提供一些有用的链接或教程,以阐明我的概念。我们如何,何时,为什么使用拦截器? 问题答案: 拦截器用于实现业务逻辑中的跨部门关注点,例如日志记录,审核和安全性。 在Java EE 5中,拦截器仅在EJB上被允许。在Java EE 6中,Interceptors成为了它自己的一个新规范,在

  • 我做了我的工作,阅读了https://spark.apache.org/docs/latest/configuration.html的文档 在spark-folder/conf/spark-env.sh中: spark_driver_memory,主内存(例如,1000M,2G)(默认值:512 Mb) spark_executor_memory,每个工作器的内存(例如,1000M,2G)(默认值

  • 我对和的用途有点困惑。 正如我从文档中理解的,拦截器在请求之间运行。另一方面,Filter在呈现视图之前运行,但在Controller呈现响应之后运行。 那么,拦截器中的和过滤器中的之间的区别在哪里呢?

  • 问题内容: 应用程序上下文和Web应用程序上下文之间有什么区别? 我知道用于Spring MVC架构的应用程序吗? 我想知道应用程序中有什么用途?什么样的豆类被定义? 问题答案: Web应用程序上下文扩展了应用程序上下文,该上下文旨在与标准javax.servlet.ServletContext一起使用,因此能够与容器进行通信。 如果WebBean中实现ServletContextAware接口,