【问题标题】:Spring security - allow navigation but protecting some pagesSpring security - 允许导航但保护某些页面
【发布时间】:2014-06-18 12:34:01
【问题描述】:

我希望允许用户浏览网站,但限制对某些操作/页面的访问,他必须在这些操作/页面上登录才能这样做。如何使用 spring 安全配置来实现这一点?

我不确定弹簧安全是否可行。

【问题讨论】:

  • 您看过参考手册和一些示例应用程序吗?你的问题实在是太宽泛了。
  • 是的,我已经花了几个小时来解决这个问题......并且只找到了相反的例子......我的意思是,除非他登录,否则这些例子会在整个地方阻止用户我宁愿让用户做所有事情,然后让他在某个时间点登录。
  • 您的意思仍然不是很清楚 - 您可以使用基本的访问控制配置选项来限制对应用程序的尽可能多或尽可能少的访问。

标签: jsp spring-mvc web-applications login spring-security


【解决方案1】:

在您的 spring 安全配置中,您可以执行以下操作:

<intercept-url pattern="/admin/**" access="ROLE_ADMIN" requires-channel="https" />
<intercept-url pattern="/secure/**" access="ROLE_USER, ROLE_ADMIN" requires-channel="https" />
<intercept-url pattern="/**" access="permitAll" requires-channel="any" />

然后在所有受保护的页面前加上 /secure/。这将允许人们浏览整个站点,除了 /secure/ 和 /admin/ 中的页面

此外,您可以使用IS_AUTHENTICATED_FULLY 代替ROLE_USER(而不是IS_AUTHENTICATED_REMEMBEREDIS_AUTHENTICATED_ANONYMOUSLY

requires-channel 仅在您使用 https 时使用,如果您尝试保护内容,则应该使用它。

【讨论】:

    猜你喜欢
    • 2018-05-31
    • 1970-01-01
    • 2016-07-17
    • 2019-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-10
    • 2011-04-20
    相关资源
    最近更新 更多