使用 MongoDB 的 Spring Social 和 Spring Security

Posted

技术标签:

【中文标题】使用 MongoDB 的 Spring Social 和 Spring Security【英文标题】:Spring Social and Spring Security using MongoDB 【发布时间】:2014-03-01 11:24:10 【问题描述】:

我想制作一个使用 MongoDB 集成 Spring Social 和 Spring Security 的完整示例,我需要一些示例、链接或教程来帮助我实现这一目标。

谢谢。

【问题讨论】:

你知道怎么做了吗? 【参考方案1】:

官方文档是一个正确的起点。两个框架都默认支持 JDBC 持久性。这种支持包括两件事:DB 模式和几个负责持久性的 bean。您需要做的是为这些 bean 提供您自己的实现,然后配置这两个框架以使用您的 bean。您需要实现以下接口:

弹簧安全:UserDetailsService 春季社交:ConnectionRepository 春季社交:UsersConnectionRepository

查看文档中的示例,您将了解如何将 bean 集成到框架中。如果你想使用一些特性(比如 Spring Security 中的 ACL),你将需要额外的 bean。

【讨论】:

非常感谢 Maksym Demidas,我会按照文档进行操作 :)))) Spring Social 项目已经提供了一个基于 jdbc 的连接存储库实现,用于将用户连接数据保存到关系数据库中。我不知道这是否仅由关系数据库使用:( JdbcUsersConnectionRepository 只能用于关系数据库(此类触发 SQL 查询)。 那么在这种情况下我该怎么办? 创建您自己的MongoDbUsersConnectionRepository implements UsersConnectionRepository 并在您的应用程序中使用它。【参考方案2】:

如需样品,请查看 spring 官方样品:https://github.com/spring-projects/spring-social-samples

Spring-social 1.1.0 尚不支持 MongoDB 存储令牌,仅通过 (JdbcConnectionRepository, JdbcUsersConnectionRepository) 支持 JDBC 和通过 (InMemoryConnectionRepository, InMemoryUsersConnectionRepository) 在内存中支持

如果你想使用 MongoDB,你必须实现自己的存储库,这里有一些方法:

https://www.jiwhiz.com/#/blogs/50f4f033e4b04d4d302ba03a

https://github.com/exacode/spring-social-mongodb

【讨论】:

以上是关于使用 MongoDB 的 Spring Social 和 Spring Security的主要内容,如果未能解决你的问题,请参考以下文章

使用 Spring Security + Spring 数据 + MongoDB 进行身份验证

用Spring data查询mongodb的问题,求解答

使用Spring启动的DB2和MongoDB的Spring批处理

使用Spring Data防止MongoDB中的重复(Spring Roo)

如何使用 Spring 连接需要身份验证的 MongoDB

使用 MongoDB 的 Spring Social 和 Spring Security