nodejs負責後端的邏輯, http伺服器是用nginx
使用angularjs搭建
'
+---------+ +-----------+ +--------+ +------+
| | | | | | | |
| +-------> +------> +----> |
| | | | | | | |
| | | | | | | |
| browser | | nginx | | nodeJs | | DB |
| | | | | | | |
| <-------+ <------+ <----+ |
| | | | | | | |
| | | | | | | |
+---------+ +--+-----^--+ +--------+ +------+
| |
| |
+--v-----+--+
| |
| |
| HTML |
| |
| CSS |
| |
| JS |
| |
+-----------+
'
RESTFUL介面肯定是要做權限, 用是token的方式, 後端根據token來判斷使用者的權限, 然後回傳資料。
~~HTML這樣的檔案有必要加上權限的認證嗎?例如有些頁面是不想直接讓人看到的, 但現在很明顯, HTML是不經過nodejs驗證權限的。 ~~
那如果範圍擴大到一些其他的靜態文件, 例如一些doc文件, 那麼這個權限判定應該怎麼走?
高洛峰2017-05-15 16:52:15
把路由檔案變數寫在伺服器端在登入之後給瀏覽器發送第一個html的地方,登入的時候把這個使用者能存取的檔案都列出來,不能存取的設定為404,然後ng在設定路由的時候去讀這些文件,如果使用者直接存取不能去的路由,就會顯示404頁了。
也可以把使用者識別碼寫在這個檔案裡,透過ng修改全域的ajax也不是不行。
phpcn_u15822017-05-15 16:52:15
我覺得你想太多了,單頁應用跟普通的網頁,在安全性方面沒有任何不同,都是用ajax方式和伺服器端交互
至於RESTful只是一種架構風格,不會因為用了這個風格,就對安全性造成什麼本質上的改變
PHP中文网2017-05-15 16:52:15
http://stackoverflow.com/questions/15938730/require-authentication-for-directory- except-one-page-with-passport-js-node-j
你需要auth_basic
PHPz2017-05-15 16:52:15
對安全性是沒有任何影響的
舉個例子說,管理員頁 admin.html 普通用戶就算可以構造url進入這個頁面,由於沒有合法token,各種操作和獲取數據也是失敗的.
由此可見,安全性只取決於後台restful對token的權限校驗