Alamat front-end: https: //github.com/wang926454/vuestudy/tree/master/vuestudy08-jwt
Jika Anda memiliki pertanyaan, silakan pindai kode dan tambahkan qq group Exchange: 779168604
- Pertama -tama , nama pengguna dan kata sandi masuk ke pengguna/login , dan berhasil mengembalikan AccessStoken terenkripsi.
- Di masa depan, Anda dapat membawa AccessStoken ini
- Proses pengujian terutama untuk menulis ulang filter entri Shiro jwtfilter ( basichttpapehenticationFilter ) untuk menentukan apakah header permintaan berisi bidang otorisasi
- Ada otorisasi sertifikasi Login Shiro Token (akses pengguna ke setiap otoritas yang diperlukan harus menambahkan bidang otorisasi ke AccessStoken ke header ), tanpa mengunjungi wisatawan secara langsung (jika Anda memiliki otoritas, Anda akan dicegat dengan akses wisata).
Sebagian besar dari mereka menyelesaikan masalah ini dalam bentuk MD5 + Salt (Detail pada Baidu). Masalah Kata Sandi Teks Gelap
Awalnya, Jedisutil secara langsung disuntikkan sebagai kacang , dan masing -masing menggunakan
@Autowired
digunakan@Autowired
menggunakannya, tetapi customcache dari penulisan ulang Shiro tidak dapat disuntikkan ke dalam jedisutil , jadi itu diubah menjadi injeksi statis dari kolam koneksi Jedispool . Injeksi@Autowired
- Setelah masuk otentikasi, kembalikan informasi AccessStoke ( simpan stempel waktu saat ini dan akun di AccessStoken )
- Pada saat yang sama , atur refreshToken dengan akun dengan akun, nilai sebagai cap waktu saat ini (waktu login)
- Saat ini, AccessToken tidak boleh tidak valid dan keberadaan keberadaan REDIS dari RefreshToken , dan stempel waktu refreshToken konsisten dengan cap waktu cap waktu dalam informasi Acceptoken .
- Jika Anda masuk untuk mendapatkan AccessStoken baru, AccessStoken lama tidak akan disertifikasi, karena informasi stempel waktu yang disimpan dalam Redis hanya akan konsisten dengan cap waktu yang dibawa oleh informasi AccessStoken terbaru , sehingga setiap pengguna hanya dapat menggunakan setiap pengguna. Sertifikasi AccessStoken terbaru
- RefreshToken Redis juga dapat digunakan untuk menentukan apakah pengguna online.
- Waktu kedaluwarsa AccessStoken adalah 5 menit (file konfigurasi dapat dikonfigurasi), dan refreshToken kedaluwarsa selama 30 menit (file konfigurasi dapat dikonfigurasi)
- Setelah 5 menit setelah login, AccessStoken saat ini akan kedaluwarsa, dan sekali lagi dengan AccessStoken untuk mengunjungi JWT akan membuang TokenExpiredException
- Mulailah menentukan apakah AccessStoken menyegarkan , redis kueri apakah ada penyegaran pengguna saat ini , dan apakah stempel waktu dan kedaluwarsa cap waktu cap waktu penyegaran konsisten
- Jika keberadaan dan konsistensi akan disegarkan, waktu pengaturan adalah 5 menit (file konfigurasi dapat dikonfigurasi), cap waktu adalah cap waktu terbaru, dan cap waktu di RefreshToken juga diatur ke cap waktu terbaru saat ini. file dapat dikonfigurasi)
- Akhirnya, Refresh AccessStoken disimpan di bidang otorisasi di header respons (ujung depan diganti, dan lain kali AccessStoken baru diakses)
Pertama -tama konfigurasikan file SRC Main Resources Generator GeneratorConfig.xml (konfigurasi default berada di bawah paket reverse -level berikutnya dari paket asli), di jendela baris perintah pom.xml (yaitu, proyek root proyek root proyek root proyek root proyek) direktori), (premisnya adalah mvn) (ide dapat menggandakan -klik untuk dieksekusi langsung di plugin jendela Maven)
mvn mybatis-generator:generate
先设置Content - Type为application / json
然后填写请求参数帐号密码信息
进行请求访问,请求访问成功
点击查看Header信息的Authorization属性即是Token字段
访问需要权限的请求将Token字段放在Header信息的Authorization属性访问即可
Token的自动刷新也是在Token失效时返回新的Token在Header信息的Authorization属性