我們希望能夠與新用戶或其他用戶共享Web應用程序內部的資源。我們希望通過實施邀請代碼來實現這一點。在其他應用程序(例如Google文檔)中,我曾多次看到過這種實現方式,您向其他用戶發送邀請代碼,而其他用戶將擁有第一位用戶同意的任何訪問權限。如何實現邀請碼與其他用戶共享資源?
我確定必須有一個模式或最好的方法已經記錄在某處,我只需要正確的詞來尋找它。有人能夠指出我正確的方向嗎?以下是用例:
- 用戶1(user1)擁有一個包含多個空格的帳戶。
- User1想要與User2(不在用戶表格上)共享特定空間(space9)。
- 用戶1向用戶2的電子郵件發送邀請碼。
- 用戶2註冊並輸入邀請碼或點擊鏈接註冊邀請碼。
- 用戶2可以訪問space9,只能訪問space9,而不能訪問user1的任何其他空間寄存器。
編輯1:(可能要使用的算法基於馬克答):
在我的域模型我有用戶和帳戶和每個用戶有0個或多個賬戶。然後我們也有SharedSpace,每個用戶有0或更多的共享空間,每個帳戶可能有0或更多的空間。現在ShareSpace的將包含(inviationCode,spaceCode,活躍(是),過期,電子郵件(份額)。
誰擁有一個帳戶(acct1任何用戶)能夠與
acct1.shareSpace("spaceCodeToShare","Emailofusertosharewith");
共享空間方法ShareSpace的(字符串,字符串)將執行以下操作:
- 創建和發送邀請碼以電子郵件
- 如果用戶已註冊,他可以通過單擊或輸入代碼(使用授權或customAuthorize屬性和IPrincipal來防止未經授權的訪問)來激活其代碼。
- 如果用戶沒有註冊,那麼他會登錄並在創建該用戶的用戶輸入之後,他將激活該代碼。
- 如果用戶從未激活代碼,代碼將過期並且活動狀態切換爲false。
你以爲我錯過了什麼,它看起來比我想象的要簡單嗎?