Journal d'Activité de l'Utilisateur sur ASP.NET Application MVC
Est-il Une bonne stratégie pour vous Connecter à l'activité de l'Utilisateur sur une page ASP MVC Application? (ActionFilters/HTTPModules).
Quelque chose comme dernière activité de l'utilisateur (comme StackOverflow "Vu 23 minutes ago"), et même sur les Pages et les Contrôleurs ont été utilisés, et en poussant encore plus loin que les boutons ou les liens ont été cliqués.
J'ai ELMAH installé mais autant que je sais que c'est juste pour la Journalisation des Erreurs.
PD: Google Analytics n'est pas une option.
Vous devez vous connecter pour publier un commentaire.
Vous pouvez essayer d'utiliser un PostSharp aspect pour effectuer l'enregistrement pour vous, il est multi-cast fonctionnalité peut être utile pour quelque chose comme ça. Si ce n'est pas une option, un Module serait probablement le plus facile à mettre en œuvre (en supposant que vous pouvez vous procurer les informations de l'utilisateur à ce point dans le pipeline).
Action Attributs De Filtre sont parfaits pour cela, il suffit de mettre un appel à
[YourAttributeName]
en haut de votre contrôleur (ou si vous avez un Contrôleur d'Application qui vos autres contrôleurs de hériter du, vous avez seulement besoin une fois dans votre application).Par exemple:
À partir de ce moment, cet attribut sera appelée avant chaque action est exécutée dans votre contrôleur(s), vous pouvez également spécifier ce sur une action en appelant
[Log]
juste avant de la même façon.Pour obtenir la fonctionnalité de journalisation de qui vous avez besoin, vous souhaiterez probablement à remplacer
OnResultExecuting
etOnResultExecuted
, qui sont tous deux assez explicite.Par exemple:
the filterContext.HttpContext.Request.RawUrl
variable. Pas la meilleure option si, et seulement pour les boutons qui font une demande au serveur.LogAttribute filter
avant quefilters.Add(new AuthorizeAttribute());
dansFilterConfig
? et le premier filtrefilters.Add(new MyPortalWeb.Filters.CustomErrorHandlerAttribute());
LogAttribute
AVANTAuthorizeAttribute
? pour le journal est l'utilisateur est authentifié ou non...Je viens de tombé sur ces 2 postes par Rion Williams qui décrivent d'une manière très simple de le faire:
La mise en œuvre de Pistes d'Audit à l'aide de ASP.NET MVC ActionFilters
Créer des Pistes d'Audit à l'aide de ActionFilters dans ASP.NET MVC
L'avancée post est vraiment génial que vous pouvez stocker la demande de données et de filtrer les données.
Je vais mettre en œuvre ce droit maintenant dans mon application.
@Rory idée est excellente. PostSharp est juste ce dont vous avez besoin pour cela, vous pouvez envisager de couplage avec ASP.net Surveillance De La Santé