2009-10-18 8 views
3

mkristgan's rack_datamapper gem dit qu'il peut être "enveloppé pour être utilisé dans un environnement spécifique, c'est-à-dire Rack :: Session :: Datamapper".Utilisation de Rack :: Session :: Datamapper

Malheureusement, je ne sais pas assez sur Ruby pour accomplir cette tâche pour l'instant -Modules/Classes en Ruby sont toujours au-dessus de ma tête (venant de PHP).

Quelqu'un peut-il offrir de l'aide pour utiliser rack_datamapper pour implémenter Rack :: Session :: Datamapper?

Vous ne voulez probablement pas le faire de toute façon.

La réponse ci-dessous est excellente, mais en y réfléchissant de plus près, j'ai réalisé que je ne devais pas le faire de toute façon. Au lieu de cela, je place le user_id, l'ip et le prénom (pour plus de commodité) dans un cookie et le protège.

Répondre

5

This gem devrait aider:

Sinatra Il suffit d'ajouter:

use Rack::Session::Moneta, 
    store: Moneta.new(:DataMapper, setup: (ENV['DATABASE_URL'] || "sqlite://#{Dir.pwd}/development.db")) 

et utiliser session[] objet à volonté.

+0

Merci, mais je me suis rendu compte que je devrais juste mettre le user_id et le prénom dans un cookie signé. – arbales

+2

ouais, c'est bien jusqu'à ce que quelqu'un essaye d'utiliser l'id_utilisateur de quelqu'un d'autre et d'en prendre d'autres. il faut se méfier! –

Questions connexes