我已经在我的一个项目中实现了Grails acl。现在尝试在另一个项目中重用它。为此,我已经为要实现的acl完成了所有必要的配置。之后我创建了一个名为' stock'并试图称之为“索引”#39;查看股票指数页面的操作。
所以,我通过以下两种方式在我想要的页面中创建了一个链接
<a href="${createLink(uri: '/Stock')}">stock</a>
<g:link controller="Stock" action="index">stock</g:link>
但问题是当点击链接时,它始终转到/ login / auth而不是stock / index action,尽管在&#39; stock&#39;中没有使用grails acl注释。控制器。所以库存控制器独立于认证。
可能是什么问题?
答案 0 :(得分:1)
可能你正在使用spring-security插件和你在Config.groovy中定义的url访问ACL:
grails.plugin.springsecurity.controllerAnnotations.staticRules = [
'/': ['permitAll'],
'/index': ['permitAll'],
'/index.gsp': ['permitAll'],
'/**/js/**': ['permitAll'],
'/**/css/**': ['permitAll'],
'/**/images/**': ['permitAll'],
'/**/favicon.ico': ['permitAll']]
如果此处未定义网址,则需要进行身份验证。添加
'/stock/**':['permitAll']
在该地图中是解决方案。