java - 前后端分离中后端提供的RESTFUL接口如何进行权限控制?
ringa_lee
ringa_lee 2017-04-18 10:09:00
0
7
649
ringa_lee
ringa_lee

ringa_lee

membalas semua(7)
阿神

Kawalan kebenaran berasaskan peranan bukanlah idea yang baik untuk mendapatkan butiran, anda boleh membaca artikel ini: https://stormpath.com/blog/ne...

Projek saya juga menggunakan shiro, yang bukan berdasarkan peranan, tetapi berdasarkan kebenaran. Ringkasnya ia adalah seperti ini:

  1. Setiap URL, menu dan butang ialah sumber dan sumber ini mempunyai kebenaran yang sepadan

  2. Watak itu mempunyai kebenaran (beberapa)

  3. Cara untuk menilai sama ada watak ini boleh mendapatkan sumber adalah sangat mudah. ​​Cuma semak sama ada watak ini mempunyai kebenaran sumber yang sepadan

  4. Hanya kebenaran dikod keras di sini

Peter_Zhu

Setiap permintaan bahagian belakang perlu disahkan Contohnya, permintaan ajax untuk mendapatkan senarai maklumat pengguna akan mengesahkan sama ada permintaan semasa mempunyai kebenaran untuk mendapatkannya, mendapatkan kuki yang diminta dan membuat sambungan dengan sesi pada. Penghakiman, jika anda mempunyai kebenaran, berikan dia data, jika tidak, kembalikan 403 atau sebagainya.

巴扎黑

secara amnya akan mengurus 资源URL secara bersatu, memberikan kebenaran penyelenggaraan platform pengurusan dan menggunakan interceptor/filter untuk mengesahkan sama ada pengguna mempunyai kebenaran yang sepadan.

  1. Mengapa anda ingin mendapatkan peranan daripada pangkalan data? Kerana kebenaran akan berubah? Dalam kes ini, anda mesti mengekalkan sumber, atau mustahil untuk melaksanakan kebenaran dinamik.

  2. Keizinan
  3. agak mudah, sama seperti peranan dalam Tomcat Manager, jadi tiada masalah untuk menggunakan pengekodan keras secara langsung.

Perkara yang paling penting ialah bagaimana rupa keperluannya.

刘奇

Saya rasa anda ada dua soalan.

Pertama, halang antara muka daripada dipanggil oleh orang lain Ini boleh dihadkan menggunakan mekanisme token Jika tiada token atau token tidak betul, 403 akan dikembalikan.

Selebihnya ialah isu kebenaran Anda boleh menggunakan shiro, keselamatan musim bunga, dll. Anda boleh menggunakan sesi untuk membezakan pengguna dengan kebenaran yang berbeza.

阿神
  1. Pelayan menjana token dan mengembalikannya kepada klien. Pelanggan membawa token ini dengan setiap permintaan, dan bahagian belakang menggunakan penapis untuk memprosesnya secara seragam

  2. Sekiranya masalah 3 dapat diselesaikan, maka masalah 2 tidak bermakna
  3. Saya ingat shiro boleh mengawal kebenaran pada tahap kod.
伊谢尔伦

Kebenaran mempunyai berbilang butiran, seperti kebenaran tindakan, kebenaran data dan kebenaran dalam keadaan status yang berbeza Ia tidak boleh dikawal hanya pada tahap tertentu dan ACL hanya boleh mencapai kawalan separa, dan ia masih perlu digabungkan dengan keadaan mereka sendiri, aplikasi yang fleksibel, tidak ada peluru ajaib yang boleh menyembuhkan semua penyakit.

洪涛

Anda boleh mempertimbangkan untuk menggunakan Spring Security atau Shiro untuk pengurusan kebenaran Untuk operasi tertentu, anda boleh menyemak maklumat dalam talian

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan