Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
casbin — अनुप्रयोगों और सेवाओं के लिए RESTful मिलान और नीति प्रबंधन API के साथ ACL, RBAC, ABAC तथा कस्टम अभिगम-नियंत्रण मॉडल लागू करने वाली प्राधिकरण लाइब्रेरी। | Kitploit
उपकरण/GitHubGitHub/apache/casbin
प्रमाणीकरण और प्राधिकरणपहचान प्रबंधनपहचान और एक्सेस प्रबंधन (IAM)API सुरक्षा
GitHubapache/casbin

casbin

अनुप्रयोगों और सेवाओं के लिए RESTful मिलान और नीति प्रबंधन API के साथ ACL, RBAC, ABAC तथा कस्टम अभिगम-नियंत्रण मॉडल लागू करने वाली प्राधिकरण लाइब्रेरी।

रिपॉजिटरी देखें
20.3k1.8k2 दिन पहलेKitploit द्वारा समीक्षित

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें
वेबसाइट

Apache Casbin

Lint Build Coverage Status Godoc Release Discord

समाचार: अभी भी चिंतित हैं कि सही Apache Casbin पॉलिसी कैसे लिखें? Apache Casbin online editor मदद के लिए आ रहा है! इसे यहाँ आज़माएँ: https://casbin.apache.org/editor/

casbin Logo

Apache Casbin Golang परियोजनाओं के लिए एक शक्तिशाली और कुशल ओपन-सोर्स एक्सेस नियंत्रण लाइब्रेरी है। यह विभिन्न एक्सेस नियंत्रण मॉडल के आधार पर प्राधिकरण लागू करने के लिए समर्थन प्रदान करता है।

Apache Casbin द्वारा समर्थित सभी भाषाएँ:

विषय-सूची

  • समर्थित मॉडल
  • यह कैसे काम करता है?
  • विशेषताएँ
  • स्थापना
  • दस्तावेज़ीकरण
  • ऑनलाइन संपादक
  • ट्यूटोरियल
  • आरंभ करें
  • पॉलिसी प्रबंधन
  • पॉलिसी स्थायित्व
  • एकाधिक नोड्स के बीच पॉलिसी संगति
  • रोल प्रबंधक
  • बेंचमार्क
  • उदाहरण
  • मिडलवेयर
  • हमारे उपयोगकर्ता

समर्थित मॉडल

  1. ACL (एक्सेस नियंत्रण सूची)
  2. सुपरयूज़र के साथ ACL
  3. बिना उपयोगकर्ताओं के ACL: यह विशेष रूप से उन सिस्टमों के लिए उपयोगी है जिनमें प्रमाणीकरण या उपयोगकर्ता लॉग-इन नहीं होते।
  4. बिना संसाधनों के ACL: कुछ परिदृश्य किसी व्यक्तिगत संसाधन के बजाय एक प्रकार के संसाधनों को लक्षित कर सकते हैं, जैसे write-article, read-log जैसी अनुमतियों का उपयोग करके। यह किसी विशिष्ट लेख या लॉग तक पहुँच को नियंत्रित नहीं करता।
  5. RBAC (रोल-आधारित एक्सेस नियंत्रण)
  6. संसाधन रोल्स के साथ RBAC: उपयोगकर्ता और संसाधन दोनों एक साथ रोल (या समूह) रख सकते हैं।
  7. डोमेन/टेनेंट के साथ RBAC: उपयोगकर्ताओं के पास विभिन्न डोमेन/टेनेंट के लिए अलग-अलग रोल सेट हो सकते हैं।
  8. ABAC (विशेषता-आधारित एक्सेस नियंत्रण): resource.Owner जैसी सिंटैक्स शुगर का उपयोग किसी संसाधन के लिए विशेषता प्राप्त करने के लिए किया जा सकता है।
  9. RESTful: /res/*, /res/:id जैसे पथ और GET, POST, PUT, जैसे HTTP तरीकों का समर्थन करता है।

यह कैसे काम करता है?

Casbin में, एक एक्सेस नियंत्रण मॉडल को PERM मेटामॉडल (Policy, Effect, Request, Matchers) के आधार पर एक CONF फ़ाइल में सारगर्भित किया जाता है। इसलिए किसी प्रोजेक्ट के लिए प्राधिकरण तंत्र को बदलना या अपग्रेड करना कॉन्फ़िगरेशन को संशोधित करने जितना सरल है। आप उपलब्ध मॉडलों को संयोजित करके अपना स्वयं का एक्सेस नियंत्रण मॉडल अनुकूलित कर सकते हैं। उदाहरण के लिए, आप एक ही मॉडल में RBAC रोल और ABAC विशेषताएँ एक साथ प्राप्त कर सकते हैं और पॉलिसी नियमों का एक सेट साझा कर सकते हैं।

Casbin में सबसे बुनियादी और सरल मॉडल ACL है। ACL का मॉडल CONF इस प्रकार है:

root@kitploit:~
# Request definition
[request_definition]
r = sub, obj, act

# Policy definition
[policy_definition]
p = sub, obj, act

# Policy effect
[policy_effect]
e = some(where (p.eft == allow))

# Matchers
[matchers]
m = r.sub == p.sub && r.obj == p.obj && r.act == p.act

ACL मॉडल के लिए एक उदाहरण पॉलिसी इस प्रकार है:

root@kitploit:~
p, alice, data1, read
p, bob, data2, write

इसका अर्थ है:

  • alice data1 पढ़ सकता है
  • bob data2 लिख सकता है

हम अंत में '\' जोड़कर मल्टी-लाइन मोड का भी समर्थन करते हैं:

root@kitploit:~
# Matchers
[matchers]
m = r.sub == p.sub && r.obj == p.obj \
  && r.act == p.act

इसके अलावा, यदि आप ABAC का उपयोग कर रहे हैं, तो आप Casbin golang संस्करण में निम्नानुसार in ऑपरेटर आज़मा सकते हैं (jCasbin और Node-Casbin अभी समर्थित नहीं हैं):

root@kitploit:~
# Matchers
[matchers]
m = r.obj == p.obj && r.act == p.act || r.obj in ('data2', 'data3')

लेकिन आपको यह सुनिश्चित करना चाहिए कि ऐरे की लंबाई 1 से अधिक है, अन्यथा यह panic का कारण बनेगा।

अधिक ऑपरेटरों के लिए, आप govaluate पर एक नज़र डाल सकते हैं।

विशेषताएँ

Apache Casbin क्या करता है:

  1. पॉलिसी को क्लासिक {subject, object, action} रूप में या आपके द्वारा परिभाषित अनुकूलित रूप में लागू करें; अनुमति और अस्वीकृति दोनों प्राधिकरण समर्थित हैं।
  2. एक्सेस नियंत्रण मॉडल और उसकी पॉलिसी के भंडारण को संभालें।
  3. रोल-उपयोगकर्ता मैपिंग और रोल-रोल मैपिंग (जिसे RBAC में रोल पदानुक्रम भी कहा जाता है) का प्रबंधन करें।
  4. root या administrator जैसे अंतर्निहित सुपरयूज़र का समर्थन करें। एक सुपरयूज़र स्पष्ट अनुमतियों के बिना कुछ भी कर सकता है।
  5. नियम मिलान का समर्थन करने के लिए कई अंतर्निहित ऑपरेटर हैं। उदाहरण के लिए, keyMatch किसी संसाधन कुंजी /foo/bar को पैटर्न /foo* से मैप कर सकता है।

Apache Casbin निम्नलिखित नहीं करता:

  1. प्रमाणीकरण (अर्थात जब कोई उपयोगकर्ता लॉग इन करता है तो username और password सत्यापित करना)
  2. उपयोगकर्ताओं या रोल्स की सूची प्रबंधित करना। मेरा मानना है कि इन संस्थाओं को प्रबंधित करना प्रोजेक्ट के लिए स्वयं अधिक सुविधाजनक है। उपयोगकर्ताओं के पास आमतौर पर उनके पासवर्ड होते हैं, और Apache Casbin को पासवर्ड कंटेनर के रूप में डिज़ाइन नहीं किया गया है। हालाँकि, Apache Casbin RBAC परिदृश्य के लिए उपयोगकर्ता-रोल मैपिंग संग्रहीत करता है।

स्थापना

root@kitploit:~
go get github.com/casbin/casbin/v3

दस्तावेज़ीकरण

https://casbin.apache.org/docs/overview

ऑनलाइन संपादक

आप अपने वेब ब्राउज़र में Casbin मॉडल और पॉलिसी लिखने के लिए ऑनलाइन संपादक (https://casbin.apache.org/editor/) का भी उपयोग कर सकते हैं। यह syntax highlighting और code completion जैसी कार्यक्षमताएँ प्रदान करता है, ठीक उसी तरह जैसे किसी प्रोग्रामिंग भाषा के लिए IDE।

ट्यूटोरियल

https://casbin.apache.org/docs/tutorials

आरंभ करें

  1. एक मॉडल फ़ाइल और एक पॉलिसी फ़ाइल के साथ एक Casbin enforcer बनाएँ:

    root@kitploit:~
    e, _ := casbin.NewEnforcer("path/to/model.conf", "path/to/policy.csv")
    

नोट: आप फ़ाइल के बजाय DB में पॉलिसी के साथ भी enforcer प्रारंभ कर सकते हैं, विवरण के लिए पॉलिसी स्थायित्व अनुभाग देखें।

  1. एक्सेस होने से ठीक पहले अपने कोड में एक enforcement hook जोड़ें:

    root@kitploit:~
    sub := "alice" // the user that wants to access a resource.
    obj := "data1" // the resource that is going to be accessed.
    act := "read" // the operation that the user performs on the resource.
    
    if res, _ := e.Enforce(sub, obj, act); res {
        // permit alice to read data1
    } else {
        // deny the request, show an error
    }
    
  2. स्थैतिक पॉलिसी फ़ाइल के अलावा, Apache Casbin रन-टाइम पर अनुमति प्रबंधन के लिए API भी प्रदान करता है। उदाहरण के लिए, आप किसी उपयोगकर्ता को सौंपे गए सभी रोल नीचे दिए अनुसार प्राप्त कर सकते हैं:

    root@kitploit:~
    roles, _ := e.GetImplicitRolesForUser(sub)
    

अधिक उपयोग के लिए पॉलिसी प्रबंधन APIs देखें।

पॉलिसी प्रबंधन

Apache Casbin अनुमतियों को प्रबंधित करने के लिए APIs के दो सेट प्रदान करता है:

  • Management API: मूल API जो Apache Casbin पॉलिसी प्रबंधन के लिए पूर्ण समर्थन प्रदान करता है।
  • RBAC API: RBAC के लिए अधिक अनुकूल API। यह API Management API का एक उपसमुच्चय है। RBAC उपयोगकर्ता कोड को सरल बनाने के लिए इस API का उपयोग कर सकते हैं।

हम मॉडल प्रबंधन और पॉलिसी प्रबंधन के लिए एक वेब-आधारित UI भी प्रदान करते हैं:

model editor

policy editor

पॉलिसी स्थायित्व

https://casbin.apache.org/docs/adapters

एकाधिक नोड्स के बीच पॉलिसी संगति

https://casbin.apache.org/docs/watchers

रोल प्रबंधक

https://casbin.apache.org/docs/role-managers

बेंचमार्क

https://casbin.apache.org/docs/benchmark

उदाहरण

मिडलवेयर

वेब फ्रेमवर्क के लिए Authz मिडलवेयर: https://casbin.apache.org/docs/middlewares

हमारे उपयोगकर्ता

https://casbin.apache.org/docs/adopters

योगदान कैसे करें

कृपया योगदान मार्गदर्शिका पढ़ें।

योगदानकर्ता

यह प्रोजेक्ट उन सभी लोगों की बदौलत अस्तित्व में है जो योगदान देते हैं।

स्टार इतिहास

Star History Chart

लाइसेंस

यह प्रोजेक्ट Apache 2.0 लाइसेंस के अंतर्गत लाइसेंस प्राप्त है।

संपर्क

यदि आपके पास कोई समस्या या फीचर अनुरोध है, तो कृपया हमसे संपर्क करें। PR का स्वागत है।

  • https://github.com/apache/casbin/issues
  • https://discord.gg/S5UjpzGZjN
टूल डाउनलोड करें
golangjavanodejsphp
CasbinjCasbinnode-CasbinPHP-Casbin
उत्पादन-तैयारउत्पादन-तैयारउत्पादन-तैयारउत्पादन-तैयार
pythondotnetc++rust
PyCasbinCasbin.NETCasbin-CPPCasbin-RS
उत्पादन-तैयारउत्पादन-तैयारउत्पादन-तैयारउत्पादन-तैयार
DELETE
  • अस्वीकृति-ओवरराइड: अनुमति और अस्वीकृति दोनों प्राधिकरण समर्थित हैं; अस्वीकृति अनुमति को ओवरराइड करती है।
  • प्राथमिकता: पॉलिसी नियमों को फ़ायरवॉल नियमों की तरह प्राथमिकता दी जा सकती है।
  • मॉडलमॉडल फ़ाइलपॉलिसी फ़ाइल
    ACLbasic_model.confbasic_policy.csv
    सुपरयूज़र के साथ ACLbasic_model_with_root.confbasic_policy.csv
    बिना उपयोगकर्ताओं के ACLbasic_model_without_users.confbasic_policy_without_users.csv
    बिना संसाधनों के ACLbasic_model_without_resources.confbasic_policy_without_resources.csv
    RBACrbac_model.confrbac_policy.csv
    संसाधन रोल्स के साथ RBACrbac_model_with_resource_roles.confrbac_policy_with_resource_roles.csv
    डोमेन/टेनेंट के साथ RBACrbac_model_with_domains.confrbac_policy_with_domains.csv
    ABACabac_model.confN/A
    RESTfulkeymatch_model.confkeymatch_policy.csv
    अस्वीकृति-ओवरराइडrbac_model_with_deny.confrbac_policy_with_deny.csv
    प्राथमिकताpriority_model.confpriority_policy.csv