コンセプト:ユーザ>キャラクター>権限の管理(Role-Based Access Control)

2672 ワード

RBACユーザー管理規範
コンセプト:各userには複数のaccountsがあり、各accountにはaccount bindingがあり、複数のrolesと複数のtaskysがあります.
例を挙げると、あるユーザーは現在、managerになります.これはadminにもう一つのキャラクターsupervisorを追加したキャラクターです.データ構造はこのようになります.
user{
    accounts : [
        {
            type : "administrator" //        : administrator, manager
            password : "1234",
            roles :[
                {
                    type: "manager",
                    roleTaskss : ",manager,supervisor,"
                },
                {
                    type: "supervisor",
                    roleTaskss : ",supervisor," } ], accountBindings : [ { type : "email", primaryKey : "xxx@xxx" } ] } ] }
*prinmary Keyはemail format、電話番号、webchatです.
 
*灰色は前の需要で、保留しただけで自動登録します.employer pageに登録したら、cookiesがあります.candidate pageに行くと自動的に登録します.プロセスはcookiesとtypeがあることを発見します.candidateに登れば、employerも自動的に出ます.登场した后に、refreshでまた自动的に登录することができるため、融通がきかない循环はとても奇怪です!
半自動登録は、employer pageに登録してから、cookiesがあります.candidate pageに行ったら、クリックして登録してください.ここで今のページの業務ロジックを見て、一つのキャラクターだけ登録できるなら、直接登録してください.2つのキャラクターなら、どのキャラクターを選択させますか?自動登録されます.選択者の役割がHdLoginでない場合は、自分でマニュアルに登録する必要があります.各ページの業務ロジックは自分のページをサポートするだけのcookiesという意味です.candidate pageに登録すると、employer pageに行き、HdLoginを探します.結果は記入していないことに気づき、ログインを要求します.
account Type 抽象的または具体的なuser administratorに記入します.staff、manager…例を挙げます.managerがadmin pageに登録した後、フロントpageに行きます.フロントpageが「自動登録」または「半自動登録」であれば、まずHdLoginに行って、cookiesが現在のページに記入されているかどうか調べてみます.記入中のaccount typeがどのような業務ロジックかによって異なります.今のaccount typeはadministratorです.登録できます.部屋を買う時、キャラクターがmanagerかどうかを確認します.でもスタッフなら?例えば、スタッフがadmin pageにログインした後、フロントpageに行きます.フロントpageが「自動登録」または「半自動登録」であれば、まずHdLoginに行って、cookiesが現在のページがあるかどうか調べてみます.この時に彼のaccount typeはadministraであることが分かりました.登録できますが、部屋を買う時、リソースは彼がアクセスできないことに気づきます.キャラクターはmanagerしか買えないからです.
seekの概念は、同じemailで、異なるpasswordは構造上、userはaccountsの親層ですが、candidate emailを作成した後にemployer emailを作成します.この2つのemailを同じaccountsにしていません.完全に2つのメールです.
rolesのデータ構造の例を挙げると、managerはsupervisorの動作を操作したいです.この時、roles.roleTasssにsupervisorを追加しなければなりません.すべてのmanagerはきっと役があって、さもなくばbugがあります!
roles :[
            {
                type: "manager",
                roleTaskss : ",manager,supervisor,"
            },
            {
                type: "supervisor",
                roleTaskss : ",supervisor,"
            }
        ],
 
 
 
転載先:https://www.cnblogs.com/stooges/p/4888315.html