首页 文章

使用Redis的Grails spring-security-ldap缓存缓存

提问于
浏览
9

新手问题所以请耐心等待......

目前我有一个Grails 2.4.4应用程序,它使用spring-security-ldap 2.0.1通过OpenLdap服务器对授权用户进行身份验证 .

LDAP人员担心,在迁移到Production时可能不会缓存此应用程序可能会影响LDAP服务器的性能 . 他们建议使用Redis作为用户的应用程序级缓存,b4命中LDAP服务器 .

在潜入POC之前,我想先了解一些方向,确保我从正确的道路开始:

i)我简单地查看了Grail org的'Grails 1&2 Plugins',当我搜索Redis时出现了几个插件......哪一个实际上与我想要实现的相关?

ii)假设我已经将Redis缓存集成到我的Grails中,我如何/在哪里告诉spring-security-ldap先查看Redis缓存,b4如何点击Ldap服务器?

在此先感谢任何信息/指南..

1 回答

  • 4

    以下是一些建议,因为您不是在寻找即用型解决方案:

    • 缓存任何类型的身份验证都是一个很大的安全性失败,因为黑客可以利用这一点来绕过LDAP解决方案中实现的一些规则,例如强力保护(例如,在N个密码错误后阻止帐户)

    • 为了处理LDAP服务器端的负载,您可以调整会话令牌到期(JSESSIONID或JWT,具体取决于Spring安全性的配置方式) . 例如,如果令牌到期时间为1小时,则每个用户每小时只会收到1个请求 .

    • 您可以使用刷新令牌机制来更新会话令牌而无需查询LDAP . 在这种情况下,每个用户每个设备只有1个LDAP请求,这可能是可以接受的 . 这是how to do it using Grails JWT在这个文档中你会看到REDDIS can be used to store token,它与你的初始解决方案有很大关系

相关问题