我已经在我的一个项目中实现了Grails acl。现在尝试在另一个项目中重用它。为此,我已经完成了要实施的ACL的所有必要配置。之后,我创建了一个名为“stock”的 Controller ,并尝试调用它的“index”操作来查看股票的索引页面。
因此,我通过以下两种方式在所需页面中创建了一个链接
<a href="${createLink(uri: '/Stock')}">stock</a>
<g:link controller="Stock" action="index">stock</g:link>
但是问题是,尽管在“stock” Controller 中未使用grails acl批注,但始终单击链接时总是转到/ login / auth而不是stock / index操作。因此库存 Controller 独立于身份验证。
可能是什么问题?
最佳答案
可能您正在使用带有Config.groovy中定义的URL访问ACL的spring-security插件:
grails.plugin.springsecurity.controllerAnnotations.staticRules = [
'/': ['permitAll'],
'/index': ['permitAll'],
'/index.gsp': ['permitAll'],
'/**/js/**': ['permitAll'],
'/**/css/**': ['permitAll'],
'/**/images/**': ['permitAll'],
'/**/favicon.ico': ['permitAll']]
如果此处未定义url,则需要身份验证。新增中
'/stock/**':['permitAll']
在该图中是解决方案。