grails 3 spring security boot starter登录页面定制

Posted

技术标签:

【中文标题】grails 3 spring security boot starter登录页面定制【英文标题】:grails 3 spring security boot starter login page customization 【发布时间】:2016-05-04 13:50:10 【问题描述】:

是否可以为入门安全插件自定义登录 gsp 页面? org.springframework.boot:spring-boot-starter-security 我阅读了有关添加 grails-app/views/login/auth.gsp 的信息,但这没有任何区别。

【问题讨论】:

你用的是什么版本的spring security插件? auth.gsp 是 spring-security-core 的一部分。 @Aramiti 在 application.yml 中有: compile "org.springframework.boot:spring-boot-starter-security" .gradle lists spring-boot-starter-security-1.2.7.RELEASE 添加grails-app/views/login/auth.gsp 将自定义您未使用的spring-security-core。尝试在spring-boot-starter-security 中查找正在使用的gsp(如果有)并将它们添加到您的grails-app/views。确保使用与插件相同的文件夹结构,否则无法自定义。 【参考方案1】:

如果您使用的是 Grails 3,那么您可能会发现使用 Grails 插件比尝试直接使用 spring boot starter 更容易。在您的 gradle 构建中,输入:

compile 'org.grails.plugins:spring-security-core:<version>'

如果您运行提供的启动脚本,那么必要的 grails 配置值将放在application.groovy 中,以便您根据需要进行调整。插件的文档非常好:https://grails-plugins.github.io/grails-spring-security-core/,一旦你看到插件是如何工作的,Spring 文档就变得更容易在 Grails 的上下文中使用(例如,所有你可能想要基于您在 grails-app/conf/spring/resources.groovy 中使用 bean builder DSL 编写的 Spring 文档。

如果你使用这个插件,那么所有的 spring 接线都会为你完成,并且登录页面的 gsp 的覆盖应该像宣传的那样工作。

如果您不想使用 Grails 插件,那么查看插件的源代码可能会为您提供您需要自己连接到 spring 包中的信息(因为插件就是这样做的)。大多数弹簧接线工作都在插件文件SpringSecurityCoreGrailsPlugin.groovy

中进行

【讨论】:

非常有帮助;使用建议的插件 vs spring-boot-starter-security;建立在 spring-boot-starter-security 提供的功能之上,并且能够按照建议替换 auth.gsp

以上是关于grails 3 spring security boot starter登录页面定制的主要内容,如果未能解决你的问题,请参考以下文章

Grails 3 Spring Security 覆盖登录表单

Grails 3 和 Spring Security:当用户未登录时返回 401

grails 3 spring security boot starter登录页面定制

Grails - 卸载 Spring Security Core

Grails 使用 spring-security-core-3.0.6+ 重定向注销后

Grails 1.3.5 和 Spring Security Core