2016-08-01 5 views
1

Wie kann ich einen angegebenen Benutzer aus meiner mvc 4-Anwendung abmelden. Ich lieber diesen Benutzer mit seinem/ihrem Benutzer abmelden.id ...Abmeldung eines angegebenen Benutzers asp.net mvc

Danke.

+0

Mit "spezifizierter Benutzer" meinen Sie einen anderen Benutzer als den derzeit angemeldeten Benutzer? –

+0

@ oj-raqueño Ja zum Beispiel Ich bin Admin der Website und ich möchte einen bestimmten Benutzer (Mitglied) der Website abmelden. –

+2

Nun, wenn Sie die Formularauthentifizierung verwenden, können Sie ihn nicht einfach rauszwingen. Er braucht sein Cookie, um ablaufen zu können. Was Sie tun können, ist eine kurze Lebensdauer des Cookies und die Sperrung dieses Benutzers (wenn Sie ASP.NET Identity verwenden). Eine andere Möglichkeit mit Token ist das Widerrufen seines Token-Zugriffs. Was ist Ihr Authentifizierungsprozess? – gdyrrahitis

Antwort

1

Nun, Ihr Problem, basierend auf Ihren Kommentaren, ist zum Ändern/Aktualisieren/Hinzufügen einer Person die Rolle, aber Sie möchten dies widerspiegeln, indem Sie ihn abmelden. Aufgrund dieser Hinzufügung/Änderung wird die neue Rolle nicht im Cookie des Benutzers reflektiert, sondern nur in der Datenbank. Aus diesem Grund muss er sich abmelden und erneut anmelden, damit diese Änderung stattfindet.

Wesentlichen, wenn Sie Cookie-Authentifizierung verwenden, was über diese versuchen, in Ihrem Startup.Auth.cs:

app.UseCookieAuthentication(new CookieAuthenticationOptions { 
    AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie, 
    LoginPath = new PathString("/Account/Login"), 
    Provider = new CookieAuthenticationProvider { 
     // Enables the application to validate the security stamp when the user logs in. 
     // This is a security feature which is used when you change a password or add an external login to your account. 
     OnValidateIdentity = SecurityStampValidator.OnValidateIdentity<ApplicationUserManager, ApplicationUser>(
      validateInterval: TimeSpan.FromMinutes(1), 
      regenerateIdentity: (manager, user) => user.GenerateUserIdentityAsync(manager)) 
    } 
}); 

die OnValidateIdentity Verwendung wird über dem Cookie aktualisiert wird auf Anforderung des Benutzers alle validateInterval Minuten, so dass im Code validieren jeder 1 Minute. Wenn Sie eine TimeSpan.FromMinutes(0) angeben, bedeutet dies, dass der Cookie bei jeder Benutzeranfrage aktualisiert wird.

Bitte überprüfen Sie auch die folgenden Posts und Antworten auf StackOverflow, um dieses spezielle Problem zu lösen.

Hope this helfen.

Verwandte Themen