django-permission

軟件截圖:
django-permission
軟件詳細信息:
版本: 0.4.5
上傳日期: 14 Apr 15
開發: Alisue
許可: 免費
人氣: 6

Rating: 2.0/5 (Total Votes: 1)

Django的權限是一個Django應用程序,以支持其對象權限和基於角色的權限系統,增強了許可制度。
安裝
Django的權限是在PyPI_所以::
  PIP安裝Django,許可
   或
  PIP安裝混帳混帳+://github.com/lambdalisue/django-permission.git#egg=django-permission
快速教程
1. 加上``'permission'``來``你``settings.py``並確認INSTALLED_APPS``'django.contrib.auth'和'django.contrib.contenttypes'是``INSTALLED_APPS``
    ..注意::
        Django的許可,可以使用`Django的fenicms `_改善
        change_list頁的Django管理(如果可用)的可視化設計。加入“fenicms”來
       你的``INSTALLED_APPS``使AJAX排序,添加,拓展功能。
2. 加上``'permission.backends.PermissionBackend'``你``settings.py``的``AUTHENTICATION_BACKENDS``。如果你不能現有設置,只需添加如下代碼::
        AUTHENTICATION_BACKENDS =(
            #“django.contrib.auth.backends.ModelBackend”,   #不要使用這個後端與RoleBackend
            'permission.backends.ModelBackend',             #使用permission.backends.ModelBackend insted的
            “permission.backends.PermissionBackend',
            “permission.backends.RoleBackend',
        )
3. 加入``permissions.py``到包含``models.py``的目錄。寫下面的代碼啟動::
       從許可導入註冊表
       從許可進口PermissionHandler
       從車型導入YourModel
       類YourModelPermissionHandler(PermissionHandler):
            “”“權限的處理程序類``YourModel``。類似與AdminSite”“”
           高清has_perm(個體經營,USER_OBJ,燙髮,OBJ =無):
                “,”“這被稱為用於檢查模型的許可。”“”
               如果user_obj.is_authenticated():
                   如果燙髮=='yourapp.add_yourmodel“:
                        #驗證的用戶已添加這種模式的權限
                       返回True
                    ELIF OBJ和obj.author == USER_OBJ:
                        #否則(更改/刪除),用戶必須是一個作家
                       返回True
                #用戶不具有``perm``許可
               返回False
        #註冊這個``YourModelPermissionHandler``與``YourModel``
        registry.register(YourModel,YourModelPermissionHandler)
角色?
Django的許可具有基於角色的權限系統。訪問您的Django管理頁面創建/修改角色(請參見下面的截圖)。
角色權限與``permission.backends.RoleBackend``處理。
..圖片:: http://s1-01.twitpicproxy.com/photos/full/528601159.png?key=943727
    :對齊:中心
..圖片:: http://s1-04.twitpicproxy.com/photos/full/528601385.png?key=9431458
    :對齊:中心
這個角色的系統正在開發中。該系統可能無法正常工作呢。
..注意::
   基於角色的權限系統不支持對象權限和匿名權限。
   然而,這些權限與單個基於處理器的許可後台處理
    (``permission.backends.PermissionBackend``)
如何規範在處理程序使用權限
只有在默認情況下註冊的模特兒有關``PermissionHandler``照顧權限。要改變
這種行為,你必須定義``permissions``屬性或``get_permissions``方法,它們
返回一個字符串的權限(如“auth.add_user')名單。
如果屬性定義``get_permissions``返回``permissions``的價值。否則,
返回與模型中默認使用``get_model_permissions``方法的所有權限。
下面的代碼示例展示了如何處理在一個模型的應用程序的所有權限
``PermissionHandler`` ::
   從許可導入註冊表
   從許可進口PermissionHandler
   從車型導入YourModel
   從車型進口HisModel
   從車型進口HerModel
   類AppPermissionHandler(PermissionHandler):
       高清get_permissions(個體經營):
            #``get_app_permissions()``方法返回的所有相關權限
            #到該模型的應用程序。
           返回self.get_app_permissions()
       高清has_perm(個體經營,USER_OBJ,燙髮,OBJ =無):
           如果perm.endswith('_ yourmodel“):
                #所有的用戶擁有所有權限``YourModel``
               返回True
            ELIF perm.endswith('_ hismodel“):
               如果user_obj.is_authenticated():
                    #只有經過身份驗證的用戶擁有所有權限``HisModel``
                   返回True
            ELIF perm.endswith('_ hermodel“):
               如果user_obj.is_staff:
                    #只有員工用戶擁有所有權限``HerModel``
                   返回True
           返回False
    #你必須註冊與模型的處理程序
    #即使AppPermissionHandler不關心模型
    registry.register(YourModel,AppPermissionHandler)
    #registry.register(HisModel,AppPermissionHandler)#或者你可以用HisModel註冊
    #registry.register(HerModel,AppPermissionHandler)#或者你可以用HerModel註冊

要求

  • 在Python中
  • 在Django的

顯影劑的其他軟件 Alisue

意見 django-permission

評論沒有發現
添加評論
打開圖片!