nodejs bertanggungjawab untuk logik bahagian belakang, dan pelayan http menggunakan nginx
Dibina menggunakan angularjs
'
+---------+ +-----------+ +--------+ +------+
| | | | | | | |
| +-------> +------> +----> |
| | | | | | | |
| | | | | | | |
| browser | | nginx | | nodeJs | | DB |
| | | | | | | |
| <-------+ <------+ <----+ |
| | | | | | | |
| | | | | | | |
+---------+ +--+-----^--+ +--------+ +------+
| |
| |
+--v-----+--+
| |
| |
| HTML |
| |
| CSS |
| |
| JS |
| |
+-----------+
'
Antara muka RESTFUL mesti digunakan untuk kebenaran, menggunakan token Bahagian belakang menentukan kebenaran pengguna berdasarkan token, dan kemudian mengembalikan data.
~~Adakah perlu menambah pengesahan kebenaran untuk fail seperti HTML? Sebagai contoh, sesetengah halaman tidak mahu dilihat secara langsung, tetapi kini jelas bahawa HTML tidak lulus kebenaran pengesahan nodejs. ~~
Jika skop dikembangkan kepada beberapa fail statik lain, seperti beberapa fail dokumen, maka bagaimanakah kebenaran itu harus ditentukan?
Tulis pembolehubah fail penghalaan di tempat pelayan menghantar HTML pertama kepada penyemak imbas selepas log masuk. Apabila log masuk, senaraikan semua fail yang boleh diakses oleh pengguna, tetapkan fail yang tidak boleh diakses kepada 404, dan kemudian ng in Baca fail ini semasa menyediakan penghalaan Jika pengguna mengakses terus laluan yang tidak boleh diakses, halaman 404 akan dipaparkan.
Anda juga boleh menulis kod pengenalan pengguna dalam fail ini, dan tidak mustahil untuk mengubah suai ajax global melalui ng.
Saya rasa anda terlalu berfikir Tidak ada perbezaan dalam keselamatan antara aplikasi satu halaman dan halaman web biasa Kedua-duanya menggunakan ajax untuk berinteraksi dengan pelayan
Bagi RESTful, ia hanyalah gaya seni bina Penggunaan gaya ini tidak akan menyebabkan sebarang perubahan kualitatif kepada keselamatan
http://stackoverflow.com/questions/15938730/require-authentication-for-directory-except-one-page-with-passport-js-node-j
你需要auth_basic
Ia tidak memberi kesan kepada keselamatan
Sebagai contoh, ambil halaman pentadbir admin.html Walaupun pengguna biasa boleh membina URL untuk memasuki halaman ini, pelbagai operasi dan pemerolehan data akan gagal kerana tiada token yang sah.
Ia boleh dilihat bahawa keselamatan hanya bergantung pada pengesahan kebenaran token dengan tenang di latar belakang