将列添加到Active Record会话存储

时间:2018-04-06 00:22:27

标签: ruby-on-rails cas

我有一个rails应用程序,它实现CAS协议,设计用于处理用户身份验证。而且我在实施单点注销时遇到问题,因为当rails应用程序收到sso请求时,我需要保存票证ID以删除会话。

我不太明白如何修补Active Record Session Store以便在每次生成新用户会话时保存票号,以便我可以使用该票号从会话表中删除。 / p>

我目前正在使用会话存储的默认行为,但以下情况除外:

ActiveRecord::SessionStore::Session.primary_key = 'session_id'
ActiveRecord::SessionStore::Session.serializer = :json

1 个答案:

答案 0 :(得分:0)

你的意思是在登录时,在控制器中做 componentDidMount(){ this.props.onUpdate(); } ,或者因为它只是一个模型,你可以扩展它;它只是一个模特!您可以进行正常迁移。你可以添加回调。

session[:ticket_id] = ...

然后你可以做class ActiveRecord::SessionStore::Session before_create :set_ticket_id end

之类的事情