Front-end-Adresse: https: //github.com/wang926454/vuestudy/tree/master/vuestudy08-jwt
Wenn Sie Fragen haben, scannen Sie den Code und fügen Sie den QQ Group Exchange hinzu: 779168604
- Zunächst werden der Benutzername und das Kennwort bei Benutzer/Anmeldung angemeldet und die verschlüsselten AccessStoken erfolgreich zurückgegeben.
- In Zukunft können Sie diesen AccessSpoken mitbringen
- Der Testprozess dient hauptsächlich dazu, den Einstiegsfilter von Shiro JWTFilter ( BasisichttpaTeTehenticationFilter ) umzuschreiben, um festzustellen, ob der Anforderungsheader das Autorisierungsfeld enthält
- Es gibt eine Shiro Token Login -Zertifizierungszertifizierung (Benutzerzugriff auf jede erforderliche Behörde muss das Feld des Autorisierungsfelds zum Header auf den Kopf hinzufügen), ohne die Touristen direkt zu besuchen (wenn Sie die Behörde haben, werden Sie vom Touristenzugang abgefangen).
Die meisten von ihnen lösen dieses Problem in Form von MD5 + Salz ( detailliert auf Baidu). . Das Problem des dunklen Textkennworts
Ursprünglich wurde Jedisutil direkt als Bohne injiziert, und jeder verwendete
@Autowired
wurde verwendet@Autowired
um es zu verwenden, aber der Customcache des Umschreibens Shiro konnte nicht in Jedisutil injiziert werden, so dass er in eine statische Injektion des Jedispool -Verbindungspools geändert wurde.@Autowired
Injection
- Nach der Anmeldung in der Authentifizierung geben Sie AccessStoken -Informationen zurück ( speichern Sie den aktuellen Zeitstempel und das Konto in AccessStoken ).
- Setzen Sie gleichzeitig ein aktualisiertes Konto mit einem Konto mit einem Konto, Wert als aktueller Zeitstempel (Anmeldezeit).
- Derzeit darf das AccessToken nicht ungültig sein und die Existenz von Redis existieren von Refreshtoken , und der aktualisierte Zeitstempel stimmt mit dem Zeitstempel des Zeitstempels in den akzeptierten Informationen überein .
- Wenn Sie sich anmelden, um den neuen AccessStoken zu erhalten, wird der alte AccessStoken nicht zertifiziert, da die in Redis gespeicherten Refreshtoken -Zeitstempelinformationen nur mit dem Zeitstempel übereinstimmen, das von den neuesten AccessStoken -Informationen übernommen wird , damit jeder Benutzer nur jeden Benutzer verwenden kann. Die neueste AccessStoken -Zertifizierung
- Refreshtoken von Redis kann auch verwendet werden , um festzustellen , ob der Benutzer online ist.
- Die Ablaufzeit von AccessStoken beträgt 5 Minuten (die Konfigurationsdatei kann konfiguriert werden) und Refreshtoken läuft 30 Minuten lang aus (Konfigurationsdatei kann konfiguriert werden)
- Nach 5 Minuten nach dem Login läuft der aktuelle AccessStoken aus und wird erneut mit AccessStoken zu besuchen, um JWT zu besuchen
- Ermitteln
- Wenn die Existenz und Konsistenz aktualisiert werden, beträgt die Einstellungszeit 5 Minuten (Konfigurationsdatei kann konfiguriert werden), der Zeitstempel ist der aktuelle neueste Zeitstempel, und der Zeitstempel in Refreshtoken ist ebenfalls auf den aktuellen neuesten Zeitstempel eingestellt. Datei kann konfiguriert werden)
- Schließlich wird der Refresh AccessStoken im Autorisierungsfeld im Header der Antwort gespeichert (das vordere Ende wird ersetzt und beim nächsten Mal auf den neuen AccessSpoken zugegriffen).
Konfigurieren Sie zuerst die Datei src Main Ressourcen Generator Generatorconfig.xml (die Standardkonfiguration befindet Verzeichnis), (die Prämisse ist MVN) (Idee kann verdoppeln, um direkt in den Maven -Fenster -Plugins auszuführen).
mvn mybatis-generator:generate
先设置Content - Type为application / json
然后填写请求参数帐号密码信息
进行请求访问,请求访问成功
点击查看Header信息的Authorization属性即是Token字段
访问需要权限的请求将Token字段放在Header信息的Authorization属性访问即可
Token的自动刷新也是在Token失效时返回新的Token在Header信息的Authorization属性