一個WebApp,同時擁有兩類用戶,一類是提問的,一類是回答的,那如何才能更好地維護這兩種身分及各自的狀態?
方案一:同一個人需要註冊兩遍,一個帳號是用戶一個帳號是回答者,切換身份需要先登出然後選擇身份重新登錄,這樣似乎比較清晰
方案二:所有用戶在初始狀態下都是普通用戶,而要晉升成為回答者的話,需要提交某種申請,通過後,在原有用戶資訊下添加回答者的標記,相對應的展示內容也會有所變化,甚至可以說,可能回不到一般使用者的狀態了
方案三:兩類使用者註冊流程完全相同,註冊完成後統一跳轉登錄頁面,在登錄頁面選擇一種身份登錄,其實這個就是在單一帳號下區分身份,切換也需要重新登入
分答只是舉個例子,這兩類使用者的使用者行為其實有很大不同的,在一些內容展現上也會有所區分,舉幾個例子,一類是病人,一類是醫生,一類是司機,那麼另外一類是乘客,那麼是採用哪一種方案來更好管理和維護呢?
不知道我描述的是否清晰,希望有做過雙端或多重身分帳號登入的經驗人士指點指點
回覆內容:
一個WebApp,同時擁有兩類用戶,一類是提問的,一類是回答的,那如何才能更好地維護這兩種身分及各自的狀態?
方案一:同一個人需要註冊兩遍,一個帳號是用戶一個帳號是回答者,切換身份需要先登出然後選擇身份重新登錄,這樣似乎比較清晰
方案二:所有用戶在初始狀態下都是普通用戶,而要晉升成為回答者的話,需要提交某種申請,通過後,在原有用戶資訊下添加回答者的標記,相對應的展示內容也會有所變化,甚至可以說,可能回不到一般使用者的狀態了
方案三:兩類使用者註冊流程完全相同,註冊完成後統一跳轉登錄頁面,在登錄頁面選擇一種身份登錄,其實這個就是在單一帳號下區分身份,切換也需要重新登入
分答只是舉個例子,這兩類使用者的使用者行為其實有很大不同的,在一些內容展現上也會有所區分,舉幾個例子,一類是病人,一類是醫生,一類是司機,那麼另外一類是乘客,那麼是採用哪一種方案來更好管理和維護呢?
不知道我描述的是否清晰,希望有做過雙端或多重身分帳號登入的經驗人士指點指點
知乎是不需要雙端的,每個人即可以是提問者也可以是回答者。你在別人的問題下就是回答者,同時你可以提新問題。註冊和使用者管理都是一套,根據頁面邏輯來決定角色。
滴滴搭計程車是需要雙端的,因為司機和乘客完全是兩類人兩類行為,所以註冊和用戶管理都是兩套
boss直聘這種比較特殊,註冊和使用者管理是一套流程,和知乎相似。但角色切換是主動進行的,而不是應用根據邏輯賴自動幫你選。在使用者登入後會讓你選擇是招募者還是應徵者,然後進入對應的頁面,以後所有的行為都是對應的角色。當然使用上也可以主動切換角色
我採取的方案
資料庫設計相關:
所有角色使用者資訊都存一個基礎資訊表,然後每個角色都有對應的資訊外表
例如基礎資訊表儲存使用者名稱、暱稱、密碼、手機、信箱,外表:一般會員資訊表、商家資訊表等
業務流程相關:
註冊的時候可以選擇先註冊基礎信息,然後再去引導讓用戶選擇去完善外表信息
登入都是統一登錄,方便擴充做統一使用者單一登入服務
共享一個用戶資訊、安全設定等後台類似「我的淘寶」
具體的業務處理根據角色獨立開發後台

本文討論了PHP中的crypt()和password_hash()的差異,以進行密碼哈希,重點介紹其實施,安全性和對現代Web應用程序的適用性。

文章討論了通過輸入驗證,輸出編碼以及使用OWASP ESAPI和HTML淨化器之類的工具來防止PHP中的跨站點腳本(XSS)。

自動加載PHP會在需要時自動加載類文件,從而通過減少內存使用和增強代碼組織來提高性能。最佳實踐包括使用PSR-4和有效組織代碼。

本文討論了在PHP中管理文件上傳大小的管理,重點是2MB的默認限制以及如何通過修改PHP.INI設置來增加它。

本文討論了PHP 7.1中引入的PHP中的無效類型,允許變量或參數為指定類型或NULL。它突出顯示了諸如提高可讀性,類型安全性和明確意圖的好處,並解釋瞭如何聲明

本文討論了unset()和unlink()功能在編程中的差異,重點關注其目的和用例。 unset()從內存中刪除變量,而unlink()從文件系統中刪除文件。兩者都對效率至關重要


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

SublimeText3 Linux新版
SublimeText3 Linux最新版

記事本++7.3.1
好用且免費的程式碼編輯器