<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                ``` 用戶、角色、權限三者之間的關系 用戶可以有多個角色 一個角色可以擁有多個用戶 一個角色有一個權限 ``` ### 定義功能權限 ``` class CMSPersmission(object): # 255的二進制方式來表示 1111 1111 ALL_PERMISSION = 0b11111111 # 1. 訪問者權限 VISITOR = 0b00000001 # 2. 管理帖子權限 POSTER = 0b00000010 # 3. 管理評論的權限 COMMENTER = 0b00000100 # 4. 管理板塊的權限 BOARDER = 0b00001000 # 5. 管理前臺用戶的權限 FRONTUSER = 0b00010000 # 6. 管理后臺用戶的權限 CMSUSER = 0b00100000 # 7. 管理后臺管理員的權限 ADMINER = 0b01000000 ``` ### 定義CMSRole管理權限模型 ``` class CMSRole(db.Model): __tablename__ = "cms_role" id = db.Column(db.Integer,primary_key=True,autoincrement=True) name = db.Column(db.String(50),nullable=False) # 描述信息 desc = db.Column(db.String(200),nullable=True) create_time = db.Column(db.DateTime,default=datetime.now) # 權限,默認為訪問者權限 permissions = db.Column(db.Integer,default=CMSPersmission.VISITOR) # 定義關系,users,rols,分別是兩個表對應哪個的字段,secondary指定中間表 users = db.relationship('CMSUser',secondary=cms_role_user,backref='rols') ``` ### 定義中間表與用戶表綁定 ``` # 綁定兩個表,表與表之間的關系為多對多 # 引用外鍵,表名.鍵名 cms_role_user = db.Table( 'cms_role_user', db.Column('cms_role_id',db.Integer,db.ForeignKey('cms_role.id'),primary_key=True), db.Column('cms_user_id',db.Integer,db.ForeignKey('cms_user.id'),primary_key=True), ) ``` 定義命令自動在表中生成角色 ``` 命令,不傳參數 @manager.command def create_role(): # 1. 訪問者(可以修改個人信息) visitor = CMSRole(name='訪問者',desc='只能相關數據,不能修改。') visitor.permissions = CMSPermission.VISITOR # 2. 運營角色(修改個人個人信息,管理帖子,管理評論,管理前臺用戶) operator = CMSRole(name='運營',desc='管理帖子,管理評論,管理前臺用戶。') operator.permissions = CMSPermission.VISITOR|CMSPermission.POSTER|CMSPermission.CMSUSER|CMSPermission.COMMENTER|CMSPermission.FRONTUSER # 3. 管理員(擁有絕大部分權限) admin = CMSRole(name='管理員',desc='擁有本系統所有權限。') admin.permissions = CMSPermission.VISITOR|CMSPermission.POSTER|CMSPermission.CMSUSER|CMSPermission.COMMENTER|CMSPermission.FRONTUSER|CMSPermission.BOARDER # 4. 開發者 developer = CMSRole(name='開發者',desc='開發人員專用角色。') developer.permissions = CMSPermission.ALL_PERMISSION db.session.add_all([visitor,operator,admin,developer]) db.session.commit() ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看