找不到Grails 3.3.9和Grails Spring Security Core插件登录/身份验证

时间:2019-03-08 15:08:58

标签: spring-security grails-3.3

对于一个项目,我想使用Grails 3.3.9和springsecurity。 不幸的是,启动localhost:8080 / login / auth的应用程序后,我找不到。我已经多次使用Grails和spring security的组合,并且一直有效。

我做了以下事情:

  1. 我已经在Intellij中使用Grails 3.3.9 SDK和Java 8 JDK创建了一个新的grails项目
  2. 然后我启动了项目,一切都按预期进行。
  3. 之后,我将依赖项编译“ org.grails.plugins:spring-security-core:3.2.3”添加到build.gradle。所有组件的下载成功
  4. 之后,我使用grails s2-quickstart com.testapp用户角色请求映射来创建域类。

域类已按预期生成。在/ views和/ controllers中什么也没有创建。据我了解的文档,使用了标准的控制器和插件视图。

启动应用程序时,我总是重定向到http://localhost:8080/login/auth,并且在浏览器中看到“未找到”字样。

我在做什么错了?

感谢您的时间和帮助。

1 个答案:

答案 0 :(得分:0)

默认情况下,rejectIfNoRule设置(SpringSecurity)设置为true,因此您必须创建一些请求映射(对于LoginController至少一个),以访问登录名。

def loginRequestMap = new Requestmap(configAttribute: 'permitAll', url: '/login/auth', httpMethod: 'GET').save()

或者,您可以在application.groovy(我不推荐这样做)内部将rejectIfNoRule和rejectPublicInvocations设置设置为false。

grails.plugin.springsecurity.rejectIfNoRule = false grails.plugin.springsecurity.fii.rejectPublicInvocations = false