繁体   English   中英

除了LoginController Grails spring security Request map之外,如何为所有URL指定IS_AUTHENTICATED_FULLY?

[英]How do I specify IS_AUTHENTICATED_FULLY for all urls except LoginController Grails spring security Request map?

我们在grails中使用spring安全请求映射表。 如何为数据库中的LoginController 之外的所有URL指定IS_AUTHENTICATED_FULLY

我将假设您尚未阅读文档,因为它解释了如何执行此操作。 通常,您还希望不仅允许访问“登录”控制器。 我将在此处包含,以便您不会遇到其他资源不可用的问题。

文档显示了一段代码,用于在使用“ Requestmap ”(例如数据库)时设置基本安全性。 通常,此代码将在Bootstrap.groovy运行。 让我们首先解决这个问题。

for (String url in [
      '/', '/index', '/index.gsp', '/**/favicon.ico',
      '/**/js/**', '/**/css/**', '/**/images/**',
      '/login', '/login.*', '/login/*',
      '/logout', '/logout.*', '/logout/*']) {
   new Requestmap(url: url, configAttribute: 'permitAll').save()
}

上面的代码将允许完全访问列出的资源。

现在,继续讨论您的具体问题。 模式/**将匹配上面未定义的所有内容。 您还声明要它需要IS_AUTHENTICATED_FULLY所以它看起来像这样:

new Requestmap(url: '/**', configAttribute: 'IS_AUTHENTICATED_FULLY').save()

请记住,这些规则的顺序很重要。 Spring安全性将选择第一个匹配规则并应用它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM