【发布时间】:2015-11-20 01:41:08
【问题描述】:
我目前正在使用带有JdbcTokenStore 的 Spring Security Oauth2 版本 2.0.7.RELEASE 的相当普通的设置,最近遇到了一个有趣的问题。
我了解,在创建和存储访问令牌时,Authentication 对象会被序列化并持久化到数据库中。我知道这是必要的,并且在稍后在请求中使用访问令牌时使用。问题是我的Authentication 对象(Spring Security 的 UserDetails 接口的自定义实现)与我的应用程序域中的其他对象相关联。 (示例对象图可能类似于 Authentication -> com.myapp.User -> com.myapp.PhoneNumber)
我不得不对上述对象的实现进行一些更改,并注意到Authentication 对象在我的更改之前序列化并存储到数据库中不再反序列化,这是有道理的,因为我的对象模型已更改。
管理此场景的推荐方法是什么?有没有办法让Authentication 对象序列化为 JSON 而不是二进制?我倾向于从我的 Authentication 对象中删除我的自定义信息,但我想知道是否有更好的方法?
【问题讨论】:
-
请提供代码sn-ps。
-
Arg 没关系,这个问题可以无效。在仔细考虑之后,我意识到一旦模型发生更改,您就可以简单地删除 OAUTH_ACCESS_TOKEN 表的内容。哦!
标签: spring spring-security spring-security-oauth2