Comment s'identifier user_name dans Rails?
j'utilise Devise dans Rails 3. Je veux voir un nom current_user dans production.log.
Je voudrais configurer rails de la manière suivante:
Je voudrais configurer rails de la manière suivante:
config.log_tags = [:user_name]
Aucun résultat connexe trouvé
Invité:
Pour répondre aux questions, connectez-vous ou registre
12 réponses
Babette
Confirmation de:
Warden stocke les informations utilisateur dans la session, mais req.session Indisponible pour l'enregistrement.
Donc, vous devez l'ajouter à config/application.rb
Puis créer un fichier config/initializers/logging.rb
Maintenant je le vois pour Anonyme:
[Anonym] Served asset ...
Et ceci est pour l'utilisateur:
[user_id:1] Served asset ...
Catherine
Confirmation de:
https://gist.github.com/WojtekKruszewski
J'ai corrigé mon projet un peu pour activer seulement id, Mais fondamentalement la même chose.
Et créer cet initialisateur
Catherine
Confirmation de:
DANS Rails 4 encrypted_cookie_store C'est le stockage de la session par défaut. Voici comment vous pouvez accéder aux données de session:
session_data = req.cookie_jar.signed[ "_qnaire_session" ]
Et il semble que warden_data Il semble différent dans ma nouvelle application, par exemple:
, où le premier élément est l'ID utilisateur.
Voici mon fragment actuel:
https://gist.github.com/wojt-eu/5109643
La version précédente:
C'est ce que je suis venu avec:
can be replaced with
instance.config.session_options[:key]
or via singleton:
Rails.application.config.session_options[:key]
J'ai un modèle ProviderUser, Par conséquent,
. Je suppose que avec le modèle utilisateur, il sera
.
Il est sale, mais cela n'affecte pas le processus d'authentification normal, l'ordre de la pile de logiciels intermédiaire, etc. S'il se casse pendant une mise à jour, seuls les journaux des étiquettes seront affectés, ce que je dois voir rapidement, voir les journaux de développement.
Agathe
Confirmation de:
:
C'est pour Authlogic. Ce que vous devez faire peut varier, vous devriez donc vraiment creuser et voir ce que vos données vous sont déjà fournies.
Étape 1:
Voir quel objet est disponible.
. Ajouter
:
Cliquez ensuite sur la page et voyez ce qui sera réinitialisé.
Étape 2: Regardez, y a-t-il assez d'informations dans votre dossier cookie jar, En utilisant la même technique:
/Cliquez sur demande/
En outre, ne vous inquiétez pas d'entrer les noms d'utilisateur/Lettres de messagerie dans des magazines - user ID C'est assez bon et vous pouvez le regarder dans la base de données pour obtenir des métadonnées supplémentaires dont vous avez besoin.
</user_id></session_hash>
Hannah
Confirmation de:
middleware/. À ce stade, il n'y a pas de contrôleur, donc tout assistant current_user Pas encore disponible. Il n'y a pas de wisp, ni même une session, mais au moins il y a cookiejar, Donc, si vous gardez votre propre là-bas session_id, Vous pouvez restaurer une session ou entrer session_id directement.
Je pense que la meilleure alternative est de sauvegarder le nom d'utilisateur dans le fichier. cookie Directement B. log_in Et le détruire avec une session.
NE MARCHE PAS:
Mais si vous utilisez devise, Il utilise un logiciel intermédiaire warden raack, de sorte que
env['warden']
Doit être disponible, vous pouvez donc essayer?
Même sans warden, Depuis que vous avez une session disponible à travers
env['rack.session']
, Si vous stockez l'ID utilisateur dans la session, vous pouvez faire quelque chose comme
Dominique
Confirmation de:
https://github.com/roidrage/lo ... 09861
Je viens de l'essayer avec Rails 4, La dernière invention et note.
Emilie
Confirmation de:
http://benjit.com/rails/logger ... file/
/
Il suggère que l'objet
Réponses
. Cependant, ce n'était pas si pour moi. Le fait qui a finalement fonctionné pour moi est le suivant:
:
Alice
Confirmation de:
Au moment de l'initialisation
, Nous n'avons pas d'objet approprié.
, mais
Situé dans la requête.
Si vous utilisez _database session_store_, Comme dans mon cas, vous pouvez reconstruire
session
ad-hoc:
session = ActiveRecord::SessionStore::Session.find_by_session_id/request.cookie_jar["_session_id"]/
C'est comme ça que ma
:
Le résultat est quelque chose comme:
</the>
Dominique
Confirmation de:
Swards, Et ça marche comme un sort. Cependant, utilisez
Au lieu de hachage # has_key? -Ce tueur de performance
Les résultats parlent d'eux-mêmes
Agathe
Confirmation de:
, qui est stocké dans le fichier cookie. Cela me permet essentiellement d'accéder au contrôleur équivalent à
session[:user_id]
, D'un fichier brut. cookie
environments/production.rb:
app/models/cookie_decrypter.rb:
Dominique
Confirmation de:
il 500 ServerError Il a été présenté: #{username}
Agathe
Confirmation de:
Testé par rails 4.