Ich entwickle eine ASP.Net-Anwendung mit OWIN und derzeit habe ich ein Problem mit Ansprüchen. Ich habe zwei Ebenen der Anwendung: Basic und Advanced. Einige Funktionen sind nur für erfahrene Benutzer verfügbar. Also ich überprüfen Ansprüche, und wenn Benutzer nicht Anspruch advanced
Ich kehre 403. Aber auch hier fand ich das Problem zu umgehen, die dieses System ruiniert:Erzwingen ASP.Net Ansprüche Validierung, nachdem sie geändert wurden
- Benutzer aktiviert erweiterten Modus
- er eine Aktion ausführt und seinen Zugriff speichern Token
- Er deaktiviert erweiterten Modus
- Jetzt ist er in der Lage, Aktionen durchzuführen, wie er im erweiterten Modus mit diesem Token ist, aber er hat eigentlich keine Berechtigungen, es zu tun.
Ich versuche, einige feine Lösung für diese Situation zu finden, aber ich habe keine Ideen, außer set 1 minute timeout
oder always check AspNetUserClaims instead of cookie
und so weiter, aber sie nicht in meinem Fall arbeiten, weil er ein Leben lang Feature in diesem aktiviert Minutenintervall und dann für immer verwenden.
Aber ich möchte einige serverseitige Flag wie oops, this guy have just changed his cookies, check it from database
oder etwas zu niedrigeren Datenbank-Roundtrips für allgemeine API-Aufrufe setzen.
Gibt es eine Standard-Standardmethode? Oder habe ich gerade ein falsches Instrument gewählt?
In Identität können Sie einfach den Benutzer abmelden und sie in programmatisch wieder anmelden. Scheint so, würde das ihren Cookie prellen und IPrincipal – Eonasdan
@Eonasdan Ich weiß nicht, wann ich den Benutzer abmelden soll. Für jede Anfrage? Alle 5 Minuten? Wenn der ehemalige dann ist es einfach nutzlos. Wenn Letzterer als Benutzer 5 Minuten Zeit hat, alles zu tun. –
"Benutzer aktiviert erweiterten Modus" -> Bounce-Login -> "Er deaktiviert erweiterten Modus" -> Bounce-Login – Eonasdan