系統前臺後臺是否應該分離(包括部署)
這個問題困惑我很久了,可能前臺/後臺這個用詞不準確,稍微解釋一下我的理解,
很多系統都分為前臺和後臺,其分別針對的使用者也是不同的
1. 前臺一般針對"消費"使用者(如讀者、網購使用者),資料查詢是重點
2. 後臺一般針對"管理"使用者(如編輯、網站管理員),增/改/刪 是重點(也需要查詢)
前後臺有很多不同點和矛盾點,如:
1. 許可權
- 後臺肯定有許可權要求,前臺很多功能無許可權要求(如閱讀文章)
2. 帳號體系
- 後臺主要用來管理,使用者數一般比較少,甚至登入入口都沒必要開放。前臺使用者數相對較多,一般用來記錄使用者在網站中的行為,為其提供服務。後臺使用者和前臺使用者的使用者資料可能相差很大,後臺使用者有時只需要帳號/口令就可以了,前臺使用者的資料一般比較豐富,並且使用者可以自己修改資料。
3. 前端(頁面、靜態資源)
- 後臺、前臺的UI一般不同,後臺可以土、醜,但前臺UI要對使用者負責一些。就說 前端開發 這塊,包括 UI設計、HTML、CSS、JS、架構、前端/服務端互動方式、前端/服務端資料傳輸介面 等等,前後臺可以完全不同
4. URL 分配矛盾
- 比如查詢編號為 10 的產品資訊,我首先會想到這個URL:http://XXXXhost/app/product?id=10 或 http://XXXXhost/app/product/10 ,但系統包含前後臺,我現在想到兩個思路:
a) 前後臺使用同一個 URL,根據許可權判斷,查詢不同的資料並返回相應的檢視進行渲染。
b) 像 wordpress 一樣,針對後臺的所有訪問,在系統根路徑上都加一個 "/admin",這樣後臺的訪問 URL 是:
http://XXXXhost/app/admin/product/10 ,使用這種處理方式的話,前後臺的 Controller 可以分離
...
這個貼支援分離
http://www.iteye.com/topic/1113741
也有提到安全問題的
http://stackoverflow.com/questions/9813174/best-practice-for-deploying-administration-area-in-java-web-application
有不支援分離的
http://programmers.stackexchange.com/questions/212938/shall-i-separate-the-admin-part-from-the-rest-of-the-war?answertab=votestab-top
結論:
自己的思路還沒有理清晰,問題描述比較粗糙,還需完善。我的理解是,木有銀蛋!?,是否分離要看專案複雜程度以及專案具體情況而定,這裡說的前臺、後臺比較容易理解,有很多複雜的系統可能不只是前臺後臺,比如還有針對供應商的平臺、針對合作伙伴的平臺。
希望有這方面經驗的大師可以分享一下自己的心得。
很多系統都分為前臺和後臺,其分別針對的使用者也是不同的
1. 前臺一般針對"消費"使用者(如讀者、網購使用者),資料查詢是重點
2. 後臺一般針對"管理"使用者(如編輯、網站管理員),增/改/刪 是重點(也需要查詢)
前後臺有很多不同點和矛盾點,如:
1. 許可權
- 後臺肯定有許可權要求,前臺很多功能無許可權要求(如閱讀文章)
2. 帳號體系
- 後臺主要用來管理,使用者數一般比較少,甚至登入入口都沒必要開放。前臺使用者數相對較多,一般用來記錄使用者在網站中的行為,為其提供服務。後臺使用者和前臺使用者的使用者資料可能相差很大,後臺使用者有時只需要帳號/口令就可以了,前臺使用者的資料一般比較豐富,並且使用者可以自己修改資料。
3. 前端(頁面、靜態資源)
- 後臺、前臺的UI一般不同,後臺可以土、醜,但前臺UI要對使用者負責一些。就說 前端開發 這塊,包括 UI設計、HTML、CSS、JS、架構、前端/服務端互動方式、前端/服務端資料傳輸介面 等等,前後臺可以完全不同
4. URL 分配矛盾
- 比如查詢編號為 10 的產品資訊,我首先會想到這個URL:http://XXXXhost/app/product?id=10 或 http://XXXXhost/app/product/10 ,但系統包含前後臺,我現在想到兩個思路:
a) 前後臺使用同一個 URL,根據許可權判斷,查詢不同的資料並返回相應的檢視進行渲染。
b) 像 wordpress 一樣,針對後臺的所有訪問,在系統根路徑上都加一個 "/admin",這樣後臺的訪問 URL 是:
http://XXXXhost/app/admin/product/10 ,使用這種處理方式的話,前後臺的 Controller 可以分離
...
這個貼支援分離
http://www.iteye.com/topic/1113741
也有提到安全問題的
http://stackoverflow.com/questions/9813174/best-practice-for-deploying-administration-area-in-java-web-application
有不支援分離的
http://programmers.stackexchange.com/questions/212938/shall-i-separate-the-admin-part-from-the-rest-of-the-war?answertab=votestab-top
結論:
自己的思路還沒有理清晰,問題描述比較粗糙,還需完善。我的理解是,木有銀蛋!?,是否分離要看專案複雜程度以及專案具體情況而定,這裡說的前臺、後臺比較容易理解,有很多複雜的系統可能不只是前臺後臺,比如還有針對供應商的平臺、針對合作伙伴的平臺。
希望有這方面經驗的大師可以分享一下自己的心得。
[該貼被edison87915於2014-10-01 14:24修改過]
相關文章
- 開發一個大型後臺管理系統,應該用前後端分離的技術方案嗎?後端
- Laravel8.x+Vue+AntDesign前後端分離後臺管理系統LaravelVue後端
- 前後端分離後臺管理系統 Gfast v3.0 全新發布後端AST
- 新出爐前後端分離後臺管理系統jishupu-admin,還熱乎後端
- 前後臺分離之資料模擬
- Catchadmin 基於 Tp6 的 前後端分離後臺管理許可權系統後端
- 基於 Hyperf 開發的前後分離管理後臺
- 基於SpringCloud+vue(ElementUI)+mySQL前後端分離設計之–搭建後臺管理系統SpringGCCloudVueUIMySql後端
- 基於 ThinkPHP6 開發的模組化前後臺分離管理系統PHP
- 從部署上做到前後端分離後端
- Cloudera Manager 前後端分離部署方法Cloud後端
- SpringBoot+Vue前後端分離系統搭建Spring BootVue後端
- 前後端分離開發部署模式【轉】後端模式
- 前後端分離Java統一響應返回格式後端Java
- Nginx 同域名部署前後端分離專案Nginx後端
- 基於 Thinkphp 6 + Vue2 的,一鍵生成程式碼的,前後端分離的,後臺管理系統PHPVue後端
- 基於 TP6.0 和 vue 開發前後端分離管理後臺Vue後端
- 微信小程式 部署(後臺是springboot專案 前後臺分流)微信小程式Spring Boot
- 分頁實現前臺後臺不同效果,分頁類引入
- docker+nginx+redis部署前後端分離專案!!!DockerNginxRedis後端
- 073基於SSM酒店管理系統(前後臺)SSM
- laravel框架學習之路(一)前後臺使用者認證分離Laravel框架
- Laravel 5.5 不同使用者表登入認證 (前後臺分離)Laravel
- 基於 Django 和 Vue 前後端分離介面自動化平臺DjangoVue後端
- 前後分離實現中,後臺 Laravel 接收資料的跨域解決方案Laravel跨域
- SaaS智慧校園雲平臺原始碼,前後端分離系統,基於Java+vue+element-ui開發原始碼後端JavaVueUI
- Nginx部署前後端分離服務以及配置說明Nginx後端
- Django + react + 阿里雲ecs 前後端分離部署上線DjangoReact阿里後端
- SpringBoot + Angular前後端分離專案部署(更新)實錄Spring BootAngular後端
- docker-compose + nginx部署前後端分離的專案DockerNginx後端
- larke-admin 是一套使用 Laravel 8 、JWT 和 RBAC鑑權的前後端分離的通用後臺管理系統LaravelJWT後端
- 一個很 low 的 Python+Vue 前後端分離的介面平臺PythonVue後端
- 您是否真的需要實現前後端分離的API? -DEV社群後端APIdev
- Laravel 後臺系統Laravel
- 後臺管理系統
- [提問交流]請問如何限制前臺帳號登入後臺系統?
- 前後端分離那些事後端
- 再談前後端分離後端
- 前後分離介面規範