首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何更改Grails spring-security-ldap:2.0.1插件以使用定制的AuthoritiesPopulator?

Grails spring-security-ldap:2.0.1插件是一个用于在Grails应用程序中集成LDAP身份验证和授权的插件。要更改该插件以使用定制的AuthoritiesPopulator,您可以按照以下步骤进行操作:

  1. 创建一个新的Groovy类,实现AuthoritiesPopulator接口。该接口定义了一个方法getGrantedAuthorities(DirContextOperations user, String username),您可以在其中根据需要自定义授权逻辑。例如:
代码语言:groovy
复制
import org.springframework.security.core.GrantedAuthority
import org.springframework.security.ldap.userdetails.LdapAuthoritiesPopulator
import org.springframework.security.ldap.userdetails.UserDetailsContextMapper
import org.springframework.security.ldap.userdetails.UserDetailsContextMapperImpl
import org.springframework.security.ldap.userdetails.UserDetailsMapper

class CustomAuthoritiesPopulator implements LdapAuthoritiesPopulator {

    UserDetailsMapper userDetailsMapper = new UserDetailsContextMapperImpl() as UserDetailsMapper

    @Override
    List<GrantedAuthority> getGrantedAuthorities(DirContextOperations user, String username) {
        // 自定义授权逻辑
        // 返回一个包含用户权限的GrantedAuthority列表
    }
}
  1. 在Grails应用程序的grails-app/conf/spring/resources.groovy文件中注册您的定制AuthoritiesPopulator。例如:
代码语言:groovy
复制
beans = {
    customAuthoritiesPopulator(CustomAuthoritiesPopulator)
}
  1. 修改grails-app/conf/spring/resources.groovy文件中的ldapAuthProvider bean定义,将userDetailsContextMapper属性设置为您的定制AuthoritiesPopulator。例如:
代码语言:groovy
复制
ldapAuthProvider(org.springframework.security.ldap.authentication.LdapAuthenticationProvider) {
    ...
    userDetailsContextMapper = ref('customAuthoritiesPopulator')
    ...
}
  1. 重新启动您的Grails应用程序,更改将生效并使用您的定制AuthoritiesPopulator。

这样,您就成功地更改了Grails spring-security-ldap:2.0.1插件以使用定制的AuthoritiesPopulator。请注意,以上步骤仅适用于该插件的特定版本,如果您使用的是其他版本,请参考相应的文档或源代码进行修改。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

简洁、高效、灵活:探索 Spring 同级别的编程框架

官网:https://grails.org/ GitHub:https://github.com/grails Grails是一个全栈框架,试图通过核心技术及其相关插件解决尽可能多的Web开发难题。...基于 Spring Boot 构建的控制器层。 具有数百个插件的插件系统。 可以使用灵活的配置创建 AngularJS、React等程序 。 基于 Gradle 交互式命令行构建系统和环境。...以上所有都通过Groovy语言的强大功能和领域特定语言(DSL)的广泛使用而变得易于使用,Grails是构建在Springboot之上的,它利用了Spring的功能,例如依赖注入。...、Spring Boot和Grails等框架的缺点: 更快的启动时间 降低内存占用 最少使用反射 最少使用代理 易于单元测试 不生成运行时字节码 这是通过在编译时预先计算框架基础结构来实现的,这减少了应用程序工作所需的运行时逻辑...Dropwizard框架可以通过自定义插件和组件来扩展和定制,例如添加新的API端点或将新的服务集成到应用程序中。 轻量级:与其他Java Web框架相比,Dropwizard框架非常轻量级。

85050

Grails——赋能敏捷开发的利器

使用Grails,你可以从第一分钟就开始编写业务逻辑,无需考虑环境问题,避免重复造轮子,帮助你更快地开始。...也就是说,你可以很轻易地获得一间定制化的精装修房子,然后根据自己的需要进行进一步细化。...,使测试、上线更轻松; 支持分环境参数配置,轻松生成war包部署到不同环境,支持主流Java应用服务器和数据库; 强大的社区和丰富的插件,有些比较复杂的功能,比如用户验证和授权,通过它的Security...也正因为通过Grails开发起步快,它特别适合需要快速试错的初创企业,据说Linked-in最初的版本就是用Grails开发的。...Spring曾经打造过类似Grails的框架Spring Roo,但是流产了。 接触敏捷,改变了我对软件开发的认知,接触Grails,再一次刷新了我的认知。

1.9K50
  • Groovy on Grails 交流活动

    Grails 1.0 版本拥有难以置信的极其丰富的核心特色,并且有一组正在日益壮大的开源插件来不断增强功能。...这将有效地形成一系列的 “TCK” 以确保 Grails 在 1.0 基础上的稳定性,此外,一组大量的 Grails 单元测试为持续整合平台的构建而稳定执行。...,他还给了 Groovy 团队一大笔股票以支持他们去进行改变的尝试。...在出现一些可以被 IDE 广泛使用的插件,以及 Groovy 的最新信息发布之前,你可以用我们提供给你的一系列脚本来模拟编译、解释,界面化运行。...根据 Nabble 的这个统计,Grails 成为了 Java web 框架中最醒目的社区,并做出了巨大贡献: 更有进一步的 Grails 插件和生态系统社区的增长迹象表明,如今,Grails 插件库中已有了超过

    1.7K20

    在你的浏览器中构建和共享开发人员环境

    如何点击一个按钮,并在一个预先配置的开发环境找到自己,动动手指就可以让IDE拥有丰富的编辑工具和项目资源?如何在本地开发,但在云中编译和运行项目?好的,第一件事情是首要的。...简而言之,先离线处理项目,然后将更改推回到远程Codenvy工作区是可能的,反之亦然,如果是先在云中处理项目,则在本地执行更改。这使得使用Codenvy与桌面IDE非常方便。...一般工作流程可能如下所示: 拉一个项目>在本地IDE中进行更改>将更改推回到云>触发远程编译或运行 将你的桌面与云结合使用,而不是代替你的桌面。...记住,我们答应了详细地阐述通过点击就能共享和使用开发者环境?这不仅仅是一个营销噱头。想象一下,你已经为你的Grails项目构建自定义的运行时系统,并希望其他人使用它。...用户可以将项目保存到持续的Codenvy帐户中,或者注册并持续使用项目。好处是什么?好吧,通过发布这样一个Factory按钮,取代了编写关于“如何试用一个特定框架”的冗长指导和教程的工作。

    4.5K90

    在您的浏览器中构建和共享开发者环境

    简而言之,离线处理项目然后将更改推送(push)回远程Codenvy工作区,或是在云端工作然后在本地拉取(pull)更改。这使得Codenvy与桌面IDE的协同工作非常方便。...一般工作流程可能如下所示: 拉取一个项目>在本地IDE中进行更改>将更改推送回云端>触发远程构建或运行 使用云搭配您的桌面,而不是取代它。...添加了添加源代码后,您可以执行grails命令,打包您的应用程序并使用servlet容器部署开发(您可以下载Tomcat,或使用我们最受欢迎的预装servlet容器的基本镜像)。就是那么简单。...那就是,不用写一个关于“如何试用一个特定框架”的长篇指南和教程,而只用发布这样一个Factory按钮。你的用户只需要一个浏览器。不用下载。不用安装。也不用设置环境偏好。 一个项目。复杂的环境。...如果你知道如何配置MongoDB以安装Leiningen,而且不需要经常翻阅他们的文档,那应该需要1个小时。点击下面这个按钮,就能身处于专门为这个特定项目建立的环境中。

    1.9K70

    企业级开发平台的演进

    或 LDAP 基于角色的访问控制 数据库行级别的安全性控制 数据更改记录和日志(数据审计) 与外部系统集成,提供系统间的互操作性 业务流引擎,支持工业标准的 BPMN 报表和 BI 能力 集成常用的服务...能部署在什么样的环境?向后兼容性如何?等等,也许你能想到更多的问题......基于对平台使用基础架构的全面和深入的理解,RAD 开发工具可以为开发者提供定制的终极便利。...这种方案在现代 RAD 平台广泛使用。例如,Jmix 平台提供了 扩展组件市场, Ruby on Rails 提供 gems,Grails 提供 插件,Django 提供 包。...没错,虽然需要每年支付以百万计的使用费,但是由于不需要招聘专业的开发人员(费用不低),也不需要对本地运行环境进行维护,最终会获得理想的收益。

    64611

    DevOps自动化组件-RUNDECK介绍、开发、部署、使用

    rundeck工作流可以执行在Windows和UNIX平台,使用节点插件可以将RunDeck扩展到新的平台(包括网络设备)。 4.可扩展 rundeck通过插件机制拓展功能。...官方提供很多非常使用的插件,当然你想开发符合自己公司特色的插件以及webui也是非常的简单 5.安全访问控制 工作流可以授权其他用户提供自助服务如运营团队。...使用场景如: 自动调度任务,提供可视化的界面查看结构反馈,支持的调度特征如:无代理、跨平台(Windows需要插件支持)、文件传输、审计报告、等等 更多的使用场景详情见官网。 使用案例分析?...(1)如何二次开发RunDeck?...=smtp.sina.com.cn   grails.mail.port=25   grails.mail.username=xxx grails.mail.password=xxx RunDeck的使用

    9K90

    Groovy、热部署和热加载(自定义类加载器)及spring loaded 部分源码分析

    或者使用maven 打包 ,然后使用maven 的命令行实现。...从表面上来看没有什么问题,但实际你加载的对象和原来的对象是两个对象,spring loaded是如何将通过热加载的文件重新指向之前的对象应该是一个要思考的问题。...网上的一些回答 除了从本地或是网上加载类文件,还可以用类加载器来: 在执行不受信任的代码之前自动验证数字签名 使用用户提供的密码透明的解密代码 根据用户的特定需求创建自定义的动态类 额外拓展Grails...实例 这些对象可用于帮助您基于更改内容应用适当的更改。...在上面的“服务”示例中,ApplicationContext当其中一个服务类发生更改时,将使用来重新注册新的服务bean 。

    3.3K00

    《Spring Boot极简教程》第8章 Spring Boot集成Groovy,Grails开发第8章 Spring Boot集成Groovy,Grails开发小结参考资料

    一系列强大的特性,如基于sping的依赖注入和各式各样的插件,可以提供创建现代基于web的app的所有需要的东西。 我们使用Grails框架。.../ 数据库的对象关系映射层使用GORM 我们使用 Grail 对象关系映射(Grails Object Relational Mapping,GORM)API 进行数据库层的持久化工作。...使用grails的create-domain-class命令创建领域类: $grails create-domain-class Project 执行这个命令,grails也会下gradle包。...的Controller,以及对应的视图view模板代码 下面我们就使用grails generate-all来创建Project,Milestone的Controller,以及视图。...类似这样子: default.blank.message=[{1}]\u7C7B\u7684\u5C5E\u6027[{0}]\u4E0D\u80FD\u4E3A\u7A7A gsp代码中,以 g: 为前缀的就是

    2.5K30

    创业公司技术选型原则

    在重点去谈创业公司如何做技术选型之前,咱们先来看看技术选型的一般性原则。...一般来讲,普及程度高的技术或工具,大都没有陡峭的学习曲线。反过来就不一定了,比如我公司一直使用的Grails,在国内的普及程度就远低于所谓的SSH或SSM。...更常见的方式可能是以月甚至以周或天的方式持续迭代,发布产品。 对于质量的要求只要达到基本可用即可,但要求队伍具备快速地填坑能力。...简化开发,Grails在这个层面提供了数倍甚至10倍于后者的开发效率,究其原因: 无处不在的CoC(惯例优于配置),对于常见的编程实践以惯例的方式引入,基本消除了繁琐配置的需求。...丰富的插件可以快速获得框架本身不具备或者不提供的能力,如Spring Security插件和Spring Security REST插件可以快速地让API应用支持JWT和权限验证。

    2.2K20

    Java开发工具IntelliJ IDEA 2020.2完整授权流程

    Eclipse基于Java平台,通过插件机制扩展,支持数百种不同的编程语言,如Java、C/C++、Python、Perl、PHP等,它可以有效地加快开发速度。...该软件支持丰富的开发框架,包括Java EE,Spring,GWT,Grails,Struts,Play,Hibernate等。... 这也是我目前再用的开发工具,真的非常方便,英语不好的同学还可以下载汉化插件(真的谁用谁知道) NetBeans NetBeans 是一个开源的、功能全面的Java集成开发环境...MyEclipse提供了非常丰富的功能, 可以满足用户在开发、调试、编译等各个步骤中的需求, 其灵活的插件架构也可以很容易的增强MyEclipse的功能, 用户可以使用MyEclipse实现功能无限的扩展和定制...二、选择合适的开发工具 1.提高效率 选择一个合适的工具可以极大的提高我们的开发效率,如何选择合适的工具除了自身体会外,我想没有什么更好的办法了。

    99742

    8.2 Spring Boot集成Groovy、Grails开发小结参考资料

    一系列强大的特性,如基于sping的依赖注入和各式各样的插件,可以提供创建现代基于web的app的所有需要的东西。 我们使用Grails框架。.../ 数据库的对象关系映射层使用GORM 我们使用 Grail 对象关系映射(Grails Object Relational Mapping,GORM)API 进行数据库层的持久化工作。...使用grails的create-domain-class命令创建领域类: $grails create-domain-class Project 执行这个命令,grails也会下gradle包。...的Controller,以及对应的视图view模板代码 下面我们就使用grails generate-all来创建Project,Milestone的Controller,以及视图。...类似这样子: default.blank.message=[{1}]\u7C7B\u7684\u5C5E\u6027[{0}]\u4E0D\u80FD\u4E3A\u7A7A gsp代码中,以 g: 为前缀的就是

    2.3K30

    下一代构建工具:Gradle

    随着敏捷实践的崛起,构建不得不更早地支持代码集成,以及频繁和简单地交付软件到测试和产品环境。 现有的构建工具不能够以一种简单但是可定制的方式去满足这些要求。...通常,当你向一个构建脚本中添加逻辑时,总摆脱不了一种使用了变通方式或者非常规方式实现的感觉。我深知你的痛苦。一定有一种更好的方式,即以一种可表达且可维护的方式去做这些事情。...因为Gradle是基于JVM 的,它允许你使用自己最喜欢的Java 或者Groovy 语言来编写定制逻辑。 在Java 世界里,有大量类库和框架可以使用。...它提供了一个标准化的项目和目录结构,以及依赖管理。遗憾的是,定制逻辑太难实现了。如果你想要打破Maven 的约定,则需要写插件,叫作Mojo,这通常是唯一的解决方案。...像Orbitz、EADS 和Software AG 这样的公司也使用Gradle,这里只列出了几个公司。VMware,作为Spring 和Grails 背后的公司,对选择Gradle做出了巨大的投资。

    2.2K10

    2020年9大热门Java框架

    框架 2:Hibernate 作为一个对象关系映射(ORM)数据库,它改变了我们以前查看数据库的方式。 它支持多个数据库的能力使它很容易扩展,无论应用程序的大小或用户的数量如何。...框架 3:Struts 该框架帮助自定义软件开发人员创建易于维护的企业级应用程序。这个框架的 USP 是它的插件。它们是 JAR 包,这意味着它们是可移植的。...谷歌广泛使用了这个框架 框架 6:Grails 可用于为内容管理系统、Restful Web 服务和电子商务网站创建健壮的、可伸缩的应用程序。...它的部分优点包括简单的 GORM、灵活的配置文件、带有多个插件的高级插件系统、简单的对象映射库以及一个支持和响应社区。 框架 7:Blade 以简单和轻量级著称。...这个框架最大的亮点是它快速创建 Web 应用程序的能力。它是一个全栈 Web 开发框架,提供了一个简单而简洁的编码结构。

    73840

    2020 年 9 大顶级 Java 框架出炉!

    它支持多个数据库的能力使得它很容易拓展,无论应用程序大小或用户数量如何。它快速、强大、易于扩展、修改和配置。 Struts ? 该框架帮助软件开发人员创建易于维护的企业级应用程序。...这个框架的 USP 是它的插件。它们是 JAR 包,这意味着它们是可移植的。 Hibernate 插件 和 spring 插件分别用于对象关系映射和依赖注入。...Java 开发人员更喜欢这种框架来编写复杂的应用程序。书签、跨浏览器的可移植性、历史记录和管理是它的一些特性。 Grails ?...Java Blade 于 2015 年推出,以简单和轻巧著称。该框架最突出的亮点是具有快速创建 Web 应用程序的能力。它是一个全栈的 Web 开发框架,提供了简单干净的编码结构。...JSF 不是使用 Java,而是使用 XML 进行视图处理。 Vaadin ? 用于精简 Java 开发的优秀平台。您可以使用它来获得定制的 web 开发服务。

    1.6K10

    Apache DolphinScheduler 2.0.1 来了,备受期待的一键升级、插件化终于实现!

    更重要的是,2.0.1 版本还有两个重大变化:插件化和重构。...相关代码可以参考 dolphinscheduler-spi 模块,相关插件的扩展接口也皆在该模块下。用户需要实现相关功能插件化时,建议先阅读此模块代码。当然,也建议大家阅读文档以节省时间。...这意味着,你完全可以通过 Java 代码的方式完成前端组件的绘制(这里主要是表单)。 1告警插件 以告警插件为例,我们实现了在 alert-server 启动时加载相关插件。...在 2.0.1 版本中,我们在注册中心逐渐“去 ZK 化”,弱化了 Zookeeper 的作用,新增了插件管理功能。...目前,任务插件的前端需要开发者自己使用 Vue 开发部署,在后续版本中,我们将实现由 Java 代码的方式完成前端组件的自动绘制。

    2K20
    领券