NEC mBaaS Embedded SDK  6.2.0
 全て クラス ネームスペース ファイル 関数 変数 列挙型 列挙型の値
nb_acl.h
説明を見る。
1 /*
2  * COPYRIGHT (C) 2017 NEC CORPORATION
3  *
4  * ALL RIGHTS RESERVED BY NEC CORPORATION, THIS PROGRAM
5  * MUST BE USED SOLELY FOR THE PURPOSE FOR WHICH IT WAS
6  * FURNISHED BY NEC CORPORATION, NO PART OF THIS PROGRAM
7  * MAY BE REPRODUCED OR DISCLOSED TO OTHERS, IN ANY FORM
8  * WITHOUT THE PRIOR WRITTEN PERMISSION OF NEC CORPORATION.
9  *
10  * NEC CONFIDENTIAL AND PROPRIETARY
11  */
12 
13 #ifndef NECBAAS_NBACL_H
14 #define NECBAAS_NBACL_H
15 
16 #include <string>
17 #include <list>
18 #include <map>
19 #include "necbaas/nb_acl_base.h"
20 #include "necbaas/nb_user.h"
21 
22 namespace necbaas {
23 
30 class NbAcl : public NbAclBase {
31  public:
37 
43 
50  static NbAcl CreateAclForUser(const NbUser &user);
51 
58  static NbAcl CreateAclFor(const std::string &entry);
59 
68  static NbAcl CreateAclFor(std::list<std::string> entries);
69 
73  NbAcl();
74 
80  explicit NbAcl(const NbJsonObject &json);
81 
85  ~NbAcl();
86 
91  const std::list<std::string> &GetAdmin() const;
92 
97  const std::string &GetOwner() const;
98 
105  void SetAdmin(const std::list<std::string> &admin);
106 
111  void SetOwner(const std::string &owner);
112 
117  void SetJson(NbJsonObject json) override;
118 
123  NbJsonObject ToJsonObject() const;
124 
125  private:
126  std::list<std::string> admin_;
127  std::string owner_;
134  std::list<std::string> &GetListByPermission(NbAclPermission permission) override;
135 };
136 } // namespace necbaas
137 
138 #endif // NECBAAS_NBACL_H
ACLクラス.
Definition: nb_acl.h:30
static NbAcl CreateAclForAnonymous()
anonymousアクセス(R/W/Admin)可能な ACL を生成する.
static NbAcl CreateAclForUser(const NbUser &user)
特定ユーザのみがアクセス可能な ACL を生成する.
~NbAcl()
デストラクタ.
static NbAcl CreateAclForAuthenticated()
Authenticatedアクセス(R/W/Admin)可能な ACL を生成する.
void SetOwner(const std::string &owner)
オーナのユーザIDを設定する.
const std::string & GetOwner() const
オーナのユーザIDを取得する.
NbJsonObject ToJsonObject() const
Jsonオブジェクトに変換する.
ユーザクラス.
Definition: nb_user.h:33
Jsonオブジェクト.
Definition: nb_json_object.h:34
static NbAcl CreateAclFor(const std::string &entry)
R/W/Adminが同一のACLを生成する.
NbAclPermission
ACLで使用する権限種別の列挙型.
Definition: nb_acl_permission.h:21
ACL基底クラス.
Definition: nb_acl_base.h:29
NbAcl()
コンストラクタ.
void SetJson(NbJsonObject json) override
JsonからACLをセットする.
const std::list< std::string > & GetAdmin() const
Admin権限が付加されたユーザ・グループの一覧を取得する.
void SetAdmin(const std::list< std::string > &admin)
admin権限を付加するユーザ・グループの一覧を設定する.