W weźmie internetowej Aspnet obecnie używamy Sustainsys.Saml2 dla naszego uwierzytelniania przeciwko OKTA. Działa to dobrze, jednak chcielibyśmy śledzić naszych użytkowników-Login's Wewnątrz aplikacji.

Do tej pory próbowaliśmy wielu eventhandlers httpapplication.postauthenticaterequest, lub wydarzenia na sesionAuthenticationModule, ale nie możemy znaleźć miejsca, aby uchwycić wydarzenie.

Rozwiązaniem jest ASP.NET MVC 5, z ramami 4.7.2 i Sustainsys.Saml2 1.0.2, z implementacją IdentityModel.

Jakieś myśli na tym, oprócz "aktualizacji"?

TIA

Skończyło się za pomocą AcsCommandResultCreated.

W celu przyszłego odniesienia dodałem to do aplikacji_start:

// Capture the Login Event
Sustainsys.Saml2.Configuration.Options.FromConfiguration.Notifications
.AcsCommandResultCreated = (commandResult, response) =>
{
    var username = commandResult.Principal.FindFirst(c => c.Type == 
    ClaimTypes.NameIdentifier).Value;
    System.Diagnostics.Debug.Write($"{username} logged in at {DateTime.Now}");
};
0
gerwinp 27 październik 2020, 16:24

1 odpowiedź

Najlepsza odpowiedź

Użyj powiadomienia AcsCommandResultCreated. Nazwa jest nie jest taka jasna, ale nazywana jest zaraz po zatwierdzeniu wiadomości Saml2 i przed połączeniem do? SessionAuthenticationModule

0
Anders Abel 27 październik 2020, 16:52