gpt4 book ai didi

java - Spring 拦截 url 配置中的 ROLE_USER 和 ROLE_ANONYMOUS 有什么区别?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:06:36 29 4
gpt4 key购买 nike

在如下例的 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>

最佳答案

ROLE_ANONYMOUS 是在配置使用 Spring Security 的 "anonymous authentication" filter 时分配给未经身份验证(匿名)用户的默认角色。 .这是默认启用的。但是,如果您改用表达式 isAnonymous() 可能会更清楚,它具有相同的含义。

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

关于java - Spring 拦截 url 配置中的 ROLE_USER 和 ROLE_ANONYMOUS 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3435824/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com