blob: afa80f15f0a56c4b7b6b8fe249daecc1e177b0cb [file]
<!doctype html>
<html lang="ar" dir="rtl" class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-rolemanager-api" data-has-hydrated="false">
<head>
<meta charset="UTF-8">
<meta name="generator" content="Docusaurus v3.9.2">
<title data-rh="true">RoleManager API | Casbin</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://casbin.org/ar/docs/rolemanager-api"><meta data-rh="true" property="og:locale" content="ar"><meta data-rh="true" property="og:locale:alternate" content="en"><meta data-rh="true" property="og:locale:alternate" content="zh"><meta data-rh="true" property="og:locale:alternate" content="ko"><meta data-rh="true" property="og:locale:alternate" content="ru"><meta data-rh="true" property="og:locale:alternate" content="fr"><meta data-rh="true" property="og:locale:alternate" content="de"><meta data-rh="true" property="og:locale:alternate" content="ja"><meta data-rh="true" property="og:locale:alternate" content="es"><meta data-rh="true" property="og:locale:alternate" content="pt"><meta data-rh="true" property="og:locale:alternate" content="uk"><meta data-rh="true" property="og:locale:alternate" content="th"><meta data-rh="true" property="og:locale:alternate" content="id"><meta data-rh="true" property="og:locale:alternate" content="vi"><meta data-rh="true" property="og:locale:alternate" content="it"><meta data-rh="true" property="og:locale:alternate" content="ms"><meta data-rh="true" property="og:locale:alternate" content="tr"><meta data-rh="true" name="docusaurus_locale" content="ar"><meta data-rh="true" name="docsearch:language" content="ar"><meta data-rh="true" name="Casbin" content="An authorization library that supports access control models like ACL, RBAC, ABAC, ReBAC, PBAC, OrBAC, BLP, Biba, LBAC, UCON for Golang, Java, C/C++, Node.js, Javascript, PHP, Laravel, Python, .NET (C#), Delphi, Rust, Ruby, Swift (Objective-C), Lua (OpenResty), Dart (Flutter) and Elixir"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="RoleManager API | Casbin"><meta data-rh="true" name="description" content="واجهة برمجة تطبيقات RoleManager توفر واجهة لتعريف العمليات لإدارة الأدوار. إضافة وظيفة مطابقة إلى RoleManager تسمح باستخدام البدائل في أسماء الأدوار والنطاقات."><meta data-rh="true" property="og:description" content="واجهة برمجة تطبيقات RoleManager توفر واجهة لتعريف العمليات لإدارة الأدوار. إضافة وظيفة مطابقة إلى RoleManager تسمح باستخدام البدائل في أسماء الأدوار والنطاقات."><meta data-rh="true" name="keywords" content="rolemanager,API"><link data-rh="true" rel="icon" href="/ar/img/favicon.png"><link data-rh="true" rel="canonical" href="https://casbin.org/ar/docs/rolemanager-api"><link data-rh="true" rel="alternate" href="https://casbin.org/docs/rolemanager-api" hreflang="en"><link data-rh="true" rel="alternate" href="https://casbin.org/zh/docs/rolemanager-api" hreflang="zh"><link data-rh="true" rel="alternate" href="https://casbin.org/ko/docs/rolemanager-api" hreflang="ko"><link data-rh="true" rel="alternate" href="https://casbin.org/ru/docs/rolemanager-api" hreflang="ru"><link data-rh="true" rel="alternate" href="https://casbin.org/fr/docs/rolemanager-api" hreflang="fr"><link data-rh="true" rel="alternate" href="https://casbin.org/de/docs/rolemanager-api" hreflang="de"><link data-rh="true" rel="alternate" href="https://casbin.org/ja/docs/rolemanager-api" hreflang="ja"><link data-rh="true" rel="alternate" href="https://casbin.org/es/docs/rolemanager-api" hreflang="es"><link data-rh="true" rel="alternate" href="https://casbin.org/pt/docs/rolemanager-api" hreflang="pt"><link data-rh="true" rel="alternate" href="https://casbin.org/uk/docs/rolemanager-api" hreflang="uk"><link data-rh="true" rel="alternate" href="https://casbin.org/th/docs/rolemanager-api" hreflang="th"><link data-rh="true" rel="alternate" href="https://casbin.org/ar/docs/rolemanager-api" hreflang="ar"><link data-rh="true" rel="alternate" href="https://casbin.org/id/docs/rolemanager-api" hreflang="id"><link data-rh="true" rel="alternate" href="https://casbin.org/vi/docs/rolemanager-api" hreflang="vi"><link data-rh="true" rel="alternate" href="https://casbin.org/it/docs/rolemanager-api" hreflang="it"><link data-rh="true" rel="alternate" href="https://casbin.org/ms/docs/rolemanager-api" hreflang="ms"><link data-rh="true" rel="alternate" href="https://casbin.org/tr/docs/rolemanager-api" hreflang="tr"><link data-rh="true" rel="alternate" href="https://casbin.org/docs/rolemanager-api" hreflang="x-default"><link data-rh="true" rel="preconnect" href="https://6NBEV8TOFK-dsn.algolia.net" crossorigin="anonymous"><script data-rh="true" type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"واجهة برمجة التطبيقات","item":"https://casbin.org/ar/docs/category/api"},{"@type":"ListItem","position":2,"name":"RoleManager API","item":"https://casbin.org/ar/docs/rolemanager-api"}]}</script><link rel="alternate" type="application/rss+xml" href="/ar/blog/rss.xml" title="Casbin RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/ar/blog/atom.xml" title="Casbin Atom Feed">
<link rel="preconnect" href="https://www.google-analytics.com">
<link rel="preconnect" href="https://www.googletagmanager.com">
<script async src="https://www.googletagmanager.com/gtag/js?id=G-8S2TKCJ27X"></script>
<script>function gtag(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],gtag("js",new Date),gtag("config","G-8S2TKCJ27X",{})</script>
<link rel="search" type="application/opensearchdescription+xml" title="Casbin" href="/ar/opensearch.xml">
<script src="/js/hotjar.js" async></script>
<script src="/js/probe.js" async></script>
<script src="/js/clarity.js" async></script><link rel="stylesheet" href="/ar/assets/css/styles.e3dd5cc5.css">
<script src="/ar/assets/js/runtime~main.4dceef9c.js" defer="defer"></script>
<script src="/ar/assets/js/main.02fb51ff.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<svg style="display: none;"><defs>
<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
</defs></svg>
<script>!function(){var t=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();document.documentElement.setAttribute("data-theme",t||(window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light")),document.documentElement.setAttribute("data-theme-choice",t||"system")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="التخطي إلى المحتوى الرئيسي"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">التخطي إلى المحتوى الرئيسي</a></div><nav aria-label="الرئيسية" class="theme-layout-navbar navbar navbar--fixed-top navbarHideable_m1mJ"><div class="navbar__inner"><div class="theme-layout-navbar-left navbar__items"><button aria-label="تبديل شريط التنقل" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/ar/"><div class="navbar__logo"><img src="https://cdn.casbin.org/img/casbin_logo_1024x256.png" alt="Casbin Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="https://cdn.casbin.org/img/casbin_logo_1024x256.png" alt="Casbin Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate"></b></a><div class="navbar__item dropdown dropdown--hoverable"><a class="navbar__link" aria-haspopup="true" aria-expanded="false" role="button" href="/ar/docs/overview">الوثائق</a><ul class="dropdown__menu"><li><a class="dropdown__link" href="/ar/docs/get-started">ابدأ</a></li><li><a class="dropdown__link" href="/ar/docs/category/model">النموذج</a></li><li><a class="dropdown__link" href="/ar/docs/category/storage">التخزين</a></li><li><a class="dropdown__link" href="/ar/docs/adapters">المحولات</a></li><li><a class="dropdown__link" href="/ar/docs/category/api">واجهة برمجة التطبيقات</a></li><li><a class="dropdown__link" href="/ar/docs/ide-plugins">إضافات بيئة التطوير المتكاملة</a></li><li><a class="dropdown__link" href="/ar/docs/contributing">ابدأ المساهمة</a></li></ul></div><a class="navbar__item navbar__link" href="/ar/ecosystem">Plugins</a><a class="navbar__item navbar__link" href="/ar/gallery">Authorization Models</a><a class="navbar__item navbar__link" href="/ar/editor">GUI Policy Editor</a><a class="navbar__item navbar__link" href="/ar/blog">المدونة</a><a class="navbar__item navbar__link" href="/ar/help">المساعدة</a></div><div class="theme-layout-navbar-right navbar__items navbar__items--right"><div class="navbar__item dropdown dropdown--hoverable dropdown--right"><a href="#" aria-haspopup="true" aria-expanded="false" role="button" class="navbar__link"><svg viewBox="0 0 24 24" width="20" height="20" aria-hidden="true" class="iconLanguage_nlXk"><path fill="currentColor" d="M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"></path></svg>العربية</a><ul class="dropdown__menu"><li><a href="/docs/rolemanager-api" target="_self" rel="noopener noreferrer" class="dropdown__link" lang="en">English</a></li><li><a href="/zh/docs/rolemanager-api" target="_self" rel="noopener noreferrer" class="dropdown__link" lang="zh">中文</a></li><li><a href="/ko/docs/rolemanager-api" target="_self" rel="noopener noreferrer" class="dropdown__link" lang="ko">한국어</a></li><li><a href="/ru/docs/rolemanager-api" target="_self" rel="noopener noreferrer" class="dropdown__link" lang="ru">Русский</a></li><li><a href="/fr/docs/rolemanager-api" target="_self" rel="noopener noreferrer" class="dropdown__link" lang="fr">Français</a></li><li><a href="/de/docs/rolemanager-api" target="_self" rel="noopener noreferrer" class="dropdown__link" lang="de">Deutsch</a></li><li><a href="/ja/docs/rolemanager-api" target="_self" rel="noopener noreferrer" class="dropdown__link" lang="ja">日本語</a></li><li><a href="/es/docs/rolemanager-api" target="_self" rel="noopener noreferrer" class="dropdown__link" lang="es">Español</a></li><li><a href="/pt/docs/rolemanager-api" target="_self" rel="noopener noreferrer" class="dropdown__link" lang="pt">Português</a></li><li><a href="/uk/docs/rolemanager-api" target="_self" rel="noopener noreferrer" class="dropdown__link" lang="uk">Українська</a></li><li><a href="/th/docs/rolemanager-api" target="_self" rel="noopener noreferrer" class="dropdown__link" lang="th">ไทย</a></li><li><a href="/ar/docs/rolemanager-api" target="_self" rel="noopener noreferrer" class="dropdown__link dropdown__link--active" lang="ar">العربية</a></li><li><a href="/id/docs/rolemanager-api" target="_self" rel="noopener noreferrer" class="dropdown__link" lang="id">Indonesia</a></li><li><a href="/vi/docs/rolemanager-api" target="_self" rel="noopener noreferrer" class="dropdown__link" lang="vi">Tiếng Việt</a></li><li><a href="/it/docs/rolemanager-api" target="_self" rel="noopener noreferrer" class="dropdown__link" lang="it">Italiano</a></li><li><a href="/ms/docs/rolemanager-api" target="_self" rel="noopener noreferrer" class="dropdown__link" lang="ms">Melayu</a></li><li><a href="/tr/docs/rolemanager-api" target="_self" rel="noopener noreferrer" class="dropdown__link" lang="tr">Türkçe</a></li><li class=""><hr style="margin: 0.3rem 0;"></li><li><a href="https://crowdin.com/project/casbin-website" target="_blank" rel="noopener noreferrer" class="dropdown__link">Help Us Translate<svg width="12" height="12" aria-label="(opens in new tab)" class="iconExternalLink_nPIU"><use href="#theme-svg-external-link"></use></svg></a></li></ul></div><a href="https://github.com/casbin/casbin" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link header-github-link" aria-label="GitHub repository"></a><a href="https://discord.gg/S5UjpzGZjN" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link header-community-discord"></a><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="بحث (Meta+k)" aria-keyshortcuts="Meta+k"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 24 24" aria-hidden="true"><circle cx="11" cy="11" r="8" stroke="currentColor" fill="none" stroke-width="1.4"></circle><path d="m21 21-4.3-4.3" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">بحث</span></span><span class="DocSearch-Button-Keys"></span></button></div><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="system mode" aria-label="التبديل بين الوضع الداكن والوضع الفاتح (الوضع الحالي system mode)"><svg viewBox="0 0 24 24" width="24" height="24" aria-hidden="true" class="toggleIcon_g3eP lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" aria-hidden="true" class="toggleIcon_g3eP darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" aria-hidden="true" class="toggleIcon_g3eP systemToggleIcon_QzmC"><path fill="currentColor" d="m12 21c4.971 0 9-4.029 9-9s-4.029-9-9-9-9 4.029-9 9 4.029 9 9 9zm4.95-13.95c1.313 1.313 2.05 3.093 2.05 4.95s-0.738 3.637-2.05 4.95c-1.313 1.313-3.093 2.05-4.95 2.05v-14c1.857 0 3.637 0.737 4.95 2.05z"></path></svg></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="theme-layout-main main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="التمرير إلى الأعلى" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd sidebarWithHideableNavbar_wUlq"><a tabindex="-1" class="sidebarLogo_isFc" href="/ar/"><img src="https://cdn.casbin.org/img/casbin_logo_1024x256.png" alt="Casbin Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="https://cdn.casbin.org/img/casbin_logo_1024x256.png" alt="Casbin Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"><b></b></a><nav aria-label="شريط جانبي للوثائق" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="categoryLink_byQd menu__link menu__link--sublist" href="/ar/docs/category/the-basics"><span title="الأساسيات" class="categoryLinkLabel_W154">الأساسيات</span></a><button aria-label="Collapse sidebar category &#x27;الأساسيات&#x27;" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/ar/docs/overview"><span title="Overview" class="linkLabel_WmDU">Overview</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/ar/docs/get-started"><span title="Get Started" class="linkLabel_WmDU">Get Started</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/ar/docs/how-it-works"><span title="How It Works" class="linkLabel_WmDU">How It Works</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/ar/docs/tutorials"><span title="Tutorials" class="linkLabel_WmDU">Tutorials</span></a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="categoryLink_byQd menu__link menu__link--sublist" href="/ar/docs/category/model"><span title="النموذج" class="categoryLinkLabel_W154">النموذج</span></a><button aria-label="Collapse sidebar category &#x27;النموذج&#x27;" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/ar/docs/supported-models"><span title="Supported Models" class="linkLabel_WmDU">Supported Models</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/ar/docs/syntax-for-models"><span title="Syntax for Models" class="linkLabel_WmDU">Syntax for Models</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/ar/docs/effector"><span title="Effector" class="linkLabel_WmDU">Effector</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/ar/docs/function"><span title="Functions" class="linkLabel_WmDU">Functions</span></a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="categoryLink_byQd menu__link menu__link--sublist" tabindex="0" href="/ar/docs/rbac-overview"><span title="RBAC" class="categoryLinkLabel_W154">RBAC</span></a><button aria-label="Collapse sidebar category &#x27;RBAC&#x27;" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/ar/docs/rbac"><span title="RBAC" class="linkLabel_WmDU">RBAC</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/ar/docs/rbac-with-pattern"><span title="RBAC with Pattern" class="linkLabel_WmDU">RBAC with Pattern</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/ar/docs/rbac-with-domains"><span title="RBAC with Domains" class="linkLabel_WmDU">RBAC with Domains</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/ar/docs/rbac-with-conditions"><span title="RBAC with Conditions" class="linkLabel_WmDU">RBAC with Conditions</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/ar/docs/rbac-96"><span title="Casbin RBAC vs. RBAC96" class="linkLabel_WmDU">Casbin RBAC vs. RBAC96</span></a></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/ar/docs/rebac"><span title="ReBAC" class="linkLabel_WmDU">ReBAC</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/ar/docs/abac"><span title="ABAC" class="linkLabel_WmDU">ABAC</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/ar/docs/pbac"><span title="PBAC" class="linkLabel_WmDU">PBAC</span></a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="categoryLink_byQd menu__link menu__link--sublist" tabindex="0" href="/ar/docs/mac-overview"><span title="MAC" class="categoryLinkLabel_W154">MAC</span></a><button aria-label="Collapse sidebar category &#x27;MAC&#x27;" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/ar/docs/blp"><span title="BLP" class="linkLabel_WmDU">BLP</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/ar/docs/biba"><span title="Biba" class="linkLabel_WmDU">Biba</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/ar/docs/lbac"><span title="LBAC" class="linkLabel_WmDU">LBAC</span></a></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/ar/docs/orbac"><span title="OrBAC" class="linkLabel_WmDU">OrBAC</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/ar/docs/priority-model"><span title="Priority Model" class="linkLabel_WmDU">Priority Model</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/ar/docs/ucon"><span title="Usage Control (UCON)" class="linkLabel_WmDU">Usage Control (UCON)</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/ar/docs/superadmin"><span title="Super Admin" class="linkLabel_WmDU">Super Admin</span></a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="categoryLink_byQd menu__link menu__link--sublist" href="/ar/docs/category/storage"><span title="التخزين" class="categoryLinkLabel_W154">التخزين</span></a><button aria-label="Collapse sidebar category &#x27;التخزين&#x27;" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/ar/docs/model-storage"><span title="Model Storage" class="linkLabel_WmDU">Model Storage</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/ar/docs/policy-storage"><span title="Policy Storage" class="linkLabel_WmDU">Policy Storage</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/ar/docs/policy-subset-loading"><span title="Policy Subset Loading" class="linkLabel_WmDU">Policy Subset Loading</span></a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="categoryLink_byQd menu__link menu__link--sublist" href="/ar/docs/category/scenarios"><span title="السيناريوهات" class="categoryLinkLabel_W154">السيناريوهات</span></a><button aria-label="Collapse sidebar category &#x27;السيناريوهات&#x27;" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/ar/docs/data-permissions"><span title="Data Permissions" class="linkLabel_WmDU">Data Permissions</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/ar/docs/menu-permissions"><span title="Menu Permissions" class="linkLabel_WmDU">Menu Permissions</span></a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="categoryLink_byQd menu__link menu__link--sublist" href="/ar/docs/plugins-overview"><span title="Plugins" class="categoryLinkLabel_W154">Plugins</span></a><button aria-label="Collapse sidebar category &#x27;Plugins&#x27;" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/ar/docs/enforcers"><span title="Enforcers" class="linkLabel_WmDU">Enforcers</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/ar/docs/adapters"><span title="Adapters" class="linkLabel_WmDU">Adapters</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/ar/docs/watchers"><span title="Watchers" class="linkLabel_WmDU">Watchers</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/ar/docs/dispatchers"><span title="Dispatchers" class="linkLabel_WmDU">Dispatchers</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/ar/docs/role-managers"><span title="Role Managers" class="linkLabel_WmDU">Role Managers</span></a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="categoryLink_byQd menu__link menu__link--sublist" tabindex="0" href="/ar/docs/middlewares"><span title="Middlewares" class="categoryLinkLabel_W154">Middlewares</span></a><button aria-label="Collapse sidebar category &#x27;Middlewares&#x27;" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/ar/docs/kong-authz"><span title="Kong" class="linkLabel_WmDU">Kong</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/ar/docs/graphql-middlewares"><span title="GraphQL" class="linkLabel_WmDU">GraphQL</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/ar/docs/cloud-native"><span title="Cloud Native" class="linkLabel_WmDU">Cloud Native</span></a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--active" href="/ar/docs/category/api"><span title="واجهة برمجة التطبيقات" class="categoryLinkLabel_W154">واجهة برمجة التطبيقات</span></a><button aria-label="Collapse sidebar category &#x27;واجهة برمجة التطبيقات&#x27;" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/ar/docs/api-overview"><span title="Overview" class="linkLabel_WmDU">Overview</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/ar/docs/management-api"><span title="Management API" class="linkLabel_WmDU">Management API</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/ar/docs/rbac-api"><span title="RBAC API" class="linkLabel_WmDU">RBAC API</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/ar/docs/rbac-with-domains-api"><span title="RBAC with Domains API" class="linkLabel_WmDU">RBAC with Domains API</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/ar/docs/rbac-with-conditions-api"><span title="RBAC with Conditions API" class="linkLabel_WmDU">RBAC with Conditions API</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/ar/docs/rolemanager-api"><span title="RoleManager API" class="linkLabel_WmDU">RoleManager API</span></a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="categoryLink_byQd menu__link menu__link--sublist" href="/ar/docs/category/advanced-usage"><span title="استخدام متقدم" class="categoryLinkLabel_W154">استخدام متقدم</span></a><button aria-label="Collapse sidebar category &#x27;استخدام متقدم&#x27;" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/ar/docs/multi-threading"><span title="Multi-threading" class="linkLabel_WmDU">Multi-threading</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/ar/docs/benchmark"><span title="Benchmarks" class="linkLabel_WmDU">Benchmarks</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/ar/docs/performance"><span title="Performance Optimization" class="linkLabel_WmDU">Performance Optimization</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/ar/docs/k8s"><span title="Authorization of Kubernetes" class="linkLabel_WmDU">Authorization of Kubernetes</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/ar/docs/k8s-gatekeeper"><span title="Admission Webhook for K8s" class="linkLabel_WmDU">Admission Webhook for K8s</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/ar/docs/envoy"><span title="Authorization of Service Mesh through Envoy" class="linkLabel_WmDU">Authorization of Service Mesh through Envoy</span></a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="categoryLink_byQd menu__link menu__link--sublist" href="/ar/docs/category/management"><span title="الإدارة" class="categoryLinkLabel_W154">الإدارة</span></a><button aria-label="Collapse sidebar category &#x27;الإدارة&#x27;" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/ar/docs/admin-portal"><span title="Admin Portal" class="linkLabel_WmDU">Admin Portal</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/ar/docs/service"><span title="Casbin Service" class="linkLabel_WmDU">Casbin Service</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/ar/docs/command-line-tools"><span title="Command-line Tools" class="linkLabel_WmDU">Command-line Tools</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/ar/docs/log-error"><span title="Log &amp; Error Handling" class="linkLabel_WmDU">Log &amp; Error Handling</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/ar/docs/frontend"><span title="Frontend Usage" class="linkLabel_WmDU">Frontend Usage</span></a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="categoryLink_byQd menu__link menu__link--sublist" href="/ar/docs/category/editor"><span title="المحرر" class="categoryLinkLabel_W154">المحرر</span></a><button aria-label="Collapse sidebar category &#x27;المحرر&#x27;" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/ar/docs/online-editor"><span title="Online Editor" class="linkLabel_WmDU">Online Editor</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/ar/docs/ide-plugins"><span title="IDE Plugins" class="linkLabel_WmDU">IDE Plugins</span></a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="categoryLink_byQd menu__link menu__link--sublist" href="/ar/docs/category/more"><span title="المزيد" class="categoryLinkLabel_W154">المزيد</span></a><button aria-label="Collapse sidebar category &#x27;المزيد&#x27;" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/ar/docs/adopters"><span title="Our Adopters" class="linkLabel_WmDU">Our Adopters</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/ar/docs/contributing"><span title="Contributing" class="linkLabel_WmDU">Contributing</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/ar/docs/privacy-policy"><span title="Privacy Policy" class="linkLabel_WmDU">Privacy Policy</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/ar/docs/terms-of-service"><span title="Terms of Service" class="linkLabel_WmDU">Terms of Service</span></a></li></ul></li></ul></nav><button type="button" title="طي الشريط الجانبي" aria-label="طي الشريط الجانبي" class="button button--secondary button--outline collapseSidebarButton_PEFL"><svg width="20" height="20" aria-hidden="true" class="collapseSidebarButtonIcon_kv0_"><g fill="#7a7a7a"><path d="M9.992 10.023c0 .2-.062.399-.172.547l-4.996 7.492a.982.982 0 01-.828.454H1c-.55 0-1-.453-1-1 0-.2.059-.403.168-.551l4.629-6.942L.168 3.078A.939.939 0 010 2.528c0-.548.45-.997 1-.997h2.996c.352 0 .649.18.828.45L9.82 9.472c.11.148.172.347.172.55zm0 0"></path><path d="M19.98 10.023c0 .2-.058.399-.168.547l-4.996 7.492a.987.987 0 01-.828.454h-3c-.547 0-.996-.453-.996-1 0-.2.059-.403.168-.551l4.625-6.942-4.625-6.945a.939.939 0 01-.168-.55 1 1 0 01.996-.997h3c.348 0 .649.18.828.45l4.996 7.492c.11.148.168.347.168.55zm0 0"></path></g></svg></button></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="فتات الخبز"><ul class="breadcrumbs"><li class="breadcrumbs__item"><a aria-label="الصفحة الرئيسية" class="breadcrumbs__link" href="/ar/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li class="breadcrumbs__item"><a class="breadcrumbs__link" href="/ar/docs/category/api"><span>واجهة برمجة التطبيقات</span></a></li><li class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link">RoleManager API</span></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">على هذه الصفحة</button></div><div class="theme-doc-markdown markdown"><header><h1>RoleManager API</h1></header><h2 class="anchor anchorTargetHideOnScrollNavbar_vjPI" id="rolemanager">RoleManager<a href="#rolemanager" class="hash-link" aria-label="رابط مباشر إلى RoleManager" title="رابط مباشر إلى RoleManager" translate="no">​</a></h2>
<p>يوفر RoleManager واجهة لتعريف العمليات لإدارة الأدوار. إضافة وظيفة مطابقة إلى RoleManager تسمح باستخدام البدائل في أسماء الأدوار والنطاقات.</p>
<h3 class="anchor anchorTargetHideOnScrollNavbar_vjPI" id="addnamedmatchingfunc"><code>AddNamedMatchingFunc()</code><a href="#addnamedmatchingfunc" class="hash-link" aria-label="رابط مباشر إلى addnamedmatchingfunc" title="رابط مباشر إلى addnamedmatchingfunc" translate="no">​</a></h3>
<p>الدالة <code>AddNamedMatchingFunc</code> تضيف <code>MatchingFunc</code> بواسطة Ptype إلى RoleManager. سيتم استخدام <code>MatchingFunc</code> عند أداء مطابقة الدور.</p>
<div class="theme-tabs-container tabs-container tabList_TRJ7"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_hGfb tabs__item--active"><img src="https://cdn.casbin.org/language/go-logo-1.svg" alt="Go" class="tabIcon_JsrN" title="Go"></li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_hGfb"><img src="https://cdn.casbin.org/language/nodejs-1.svg" alt="Node.js" class="tabIcon_JsrN" title="Node.js"></li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_s4ch"><div class="language-go codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-go codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain"> e</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">AddNamedMatchingFunc</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">&quot;g&quot;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&quot;&quot;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> util</span><span class="token punctuation" style="color:#393A34">.</span><span class="token plain">KeyMatch</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token boolean" style="color:#36acaa">_</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token boolean" style="color:#36acaa">_</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> e</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">AddGroupingPolicies</span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">[</span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">[</span><span class="token punctuation" style="color:#393A34">]</span><span class="token builtin">string</span><span class="token punctuation" style="color:#393A34">{</span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">&quot;*&quot;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&quot;admin&quot;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&quot;domain1&quot;</span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token boolean" style="color:#36acaa">_</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token boolean" style="color:#36acaa">_</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> e</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">GetRoleManager</span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">HasLink</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">&quot;bob&quot;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&quot;admin&quot;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&quot;domain1&quot;</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// -&gt; true, nil</span><br></span></code></pre></div></div></div><div role="tabpanel" class="tabItem_s4ch" hidden=""><div class="language-typescript codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-typescript codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token keyword" style="color:#00009f">await</span><span class="token plain"> e</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">addNamedMatchingFunc</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">&#x27;g&#x27;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> Util</span><span class="token punctuation" style="color:#393A34">.</span><span class="token plain">keyMatchFunc</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token keyword" style="color:#00009f">await</span><span class="token plain"> e</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">addGroupingPolicies</span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">[</span><span class="token punctuation" style="color:#393A34">[</span><span class="token string" style="color:#e3116c">&#x27;*&#x27;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&#x27;admin&#x27;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&#x27;domain1&#x27;</span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token keyword" style="color:#00009f">await</span><span class="token plain"> e</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">getRoleManager</span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">hasLink</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">&#x27;bob&#x27;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&#x27;admin&#x27;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&#x27;domain1&#x27;</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><br></span></code></pre></div></div></div></div></div>
<p>على سبيل المثال:</p>
<div class="theme-tabs-container tabs-container tabList_TRJ7"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_hGfb tabs__item--active"><img src="https://cdn.casbin.org/language/go-logo-1.svg" alt="Go" class="tabIcon_JsrN" title="Go"></li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_hGfb"><img src="https://cdn.casbin.org/language/nodejs-1.svg" alt="Node.js" class="tabIcon_JsrN" title="Node.js"></li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_s4ch"><div class="language-go codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-go codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain"> e</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token boolean" style="color:#36acaa">_</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">:=</span><span class="token plain"> casbin</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">NewEnforcer</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">&quot;path/to/model&quot;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&quot;path/to/policy&quot;</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> e</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">AddNamedMatchingFunc</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">&quot;g&quot;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&quot;&quot;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> util</span><span class="token punctuation" style="color:#393A34">.</span><span class="token plain">MatchKey</span><span class="token punctuation" style="color:#393A34">)</span><br></span></code></pre></div></div></div><div role="tabpanel" class="tabItem_s4ch" hidden=""><div class="language-typescript codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-typescript codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token keyword" style="color:#00009f">const</span><span class="token plain"> e </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">await</span><span class="token plain"> </span><span class="token function" style="color:#d73a49">newEnforcer</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">&#x27;path/to/model&#x27;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&#x27;path/to/policy&#x27;</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token keyword" style="color:#00009f">await</span><span class="token plain"> e</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">addNamedMatchingFunc</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">&#x27;g&#x27;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> Util</span><span class="token punctuation" style="color:#393A34">.</span><span class="token plain">keyMatchFunc</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><br></span></code></pre></div></div></div></div></div>
<h3 class="anchor anchorTargetHideOnScrollNavbar_vjPI" id="addnameddomainmatchingfunc"><code>AddNamedDomainMatchingFunc()</code><a href="#addnameddomainmatchingfunc" class="hash-link" aria-label="رابط مباشر إلى addnameddomainmatchingfunc" title="رابط مباشر إلى addnameddomainmatchingfunc" translate="no">​</a></h3>
<p>الدالة <code>AddNamedDomainMatchingFunc</code> تضيف <code>MatchingFunc</code> بواسطة Ptype إلى RoleManager. <code>DomainMatchingFunc</code> مشابهة لـ <code>MatchingFunc</code> المذكورة أعلاه.</p>
<p>على سبيل المثال:</p>
<div class="theme-tabs-container tabs-container tabList_TRJ7"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_hGfb tabs__item--active"><img src="https://cdn.casbin.org/language/go-logo-1.svg" alt="Go" class="tabIcon_JsrN" title="Go"></li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_hGfb"><img src="https://cdn.casbin.org/language/nodejs-1.svg" alt="Node.js" class="tabIcon_JsrN" title="Node.js"></li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_s4ch"><div class="language-go codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-go codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain"> e</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token boolean" style="color:#36acaa">_</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">:=</span><span class="token plain"> casbin</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">NewEnforcer</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">&quot;path/to/model&quot;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&quot;path/to/policy&quot;</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> e</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">AddNamedDomainMatchingFunc</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">&quot;g&quot;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&quot;&quot;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> util</span><span class="token punctuation" style="color:#393A34">.</span><span class="token plain">MatchKey</span><span class="token punctuation" style="color:#393A34">)</span><br></span></code></pre></div></div></div><div role="tabpanel" class="tabItem_s4ch" hidden=""><div class="language-typescript codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-typescript codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token keyword" style="color:#00009f">const</span><span class="token plain"> e </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">await</span><span class="token plain"> </span><span class="token function" style="color:#d73a49">newEnforcer</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">&#x27;path/to/model&#x27;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&#x27;path/to/policy&#x27;</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token keyword" style="color:#00009f">await</span><span class="token plain"> e</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">addNamedDomainMatchingFunc</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">&#x27;g&#x27;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> Util</span><span class="token punctuation" style="color:#393A34">.</span><span class="token plain">keyMatchFunc</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><br></span></code></pre></div></div></div></div></div>
<h3 class="anchor anchorTargetHideOnScrollNavbar_vjPI" id="getrolemanager"><code>GetRoleManager()</code><a href="#getrolemanager" class="hash-link" aria-label="رابط مباشر إلى getrolemanager" title="رابط مباشر إلى getrolemanager" translate="no">​</a></h3>
<p>الدالة <code>GetRoleManager</code> تحصل على مدير الأدوار الحالي لـ <code>g</code>.</p>
<p>على سبي�ل المثال:</p>
<div class="theme-tabs-container tabs-container tabList_TRJ7"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_hGfb tabs__item--active"><img src="https://cdn.casbin.org/language/go-logo-1.svg" alt="Go" class="tabIcon_JsrN" title="Go"></li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_hGfb"><img src="https://cdn.casbin.org/language/nodejs-1.svg" alt="Node.js" class="tabIcon_JsrN" title="Node.js"></li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_hGfb"><img src="https://cdn.casbin.org/language/python-5.svg" alt="Python" class="tabIcon_JsrN" title="Python"></li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_s4ch"><div class="language-go codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-go codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain"> rm </span><span class="token operator" style="color:#393A34">:=</span><span class="token plain"> e</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">GetRoleManager</span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">)</span><br></span></code></pre></div></div></div><div role="tabpanel" class="tabItem_s4ch" hidden=""><div class="language-typescript codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-typescript codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token keyword" style="color:#00009f">const</span><span class="token plain"> rm </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">await</span><span class="token plain"> e</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">getRoleManager</span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><br></span></code></pre></div></div></div><div role="tabpanel" class="tabItem_s4ch" hidden=""><div class="language-python codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-python codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain"> rm </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> e</span><span class="token punctuation" style="color:#393A34">.</span><span class="token plain">get_role_manager</span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">)</span><br></span></code></pre></div></div></div></div></div>
<h3 class="anchor anchorTargetHideOnScrollNavbar_vjPI" id="getnamedrolemanager"><code>GetNamedRoleManager()</code><a href="#getnamedrolemanager" class="hash-link" aria-label="رابط مباشر إلى getnamedrolemanager" title="رابط مباشر إلى getnamedrolemanager" translate="no">​</a></h3>
<p>الدالة <code>GetNamedRoleManager</code> تحصل على مدير الأدوار بواسطة Ptype المسمى.</p>
<p>على سبيل المثال:</p>
<div class="theme-tabs-container tabs-container tabList_TRJ7"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_hGfb tabs__item--active"><img src="https://cdn.casbin.org/language/go-logo-1.svg" alt="Go" class="tabIcon_JsrN" title="Go"></li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_hGfb"><img src="https://cdn.casbin.org/language/nodejs-1.svg" alt="Node.js" class="tabIcon_JsrN" title="Node.js"></li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_hGfb"><img src="https://cdn.casbin.org/language/python-5.svg" alt="Python" class="tabIcon_JsrN" title="Python"></li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_s4ch"><div class="language-go codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-go codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain"> rm </span><span class="token operator" style="color:#393A34">:=</span><span class="token plain"> e</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">GetNamedRoleManager</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">&quot;g2&quot;</span><span class="token punctuation" style="color:#393A34">)</span><br></span></code></pre></div></div></div><div role="tabpanel" class="tabItem_s4ch" hidden=""><div class="language-typescript codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-typescript codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token keyword" style="color:#00009f">const</span><span class="token plain"> rm </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">await</span><span class="token plain"> e</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">getNamedRoleManager</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">&quot;g2&quot;</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><br></span></code></pre></div></div></div><div role="tabpanel" class="tabItem_s4ch" hidden=""><div class="language-python codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-python codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain"> rm </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> e</span><span class="token punctuation" style="color:#393A34">.</span><span class="token plain">get_named_role_manager</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">&quot;g2&quot;</span><span class="token punctuation" style="color:#393A34">)</span><br></span></code></pre></div></div></div></div></div>
<h3 class="anchor anchorTargetHideOnScrollNavbar_vjPI" id="setrolemanager"><code>SetRoleManager()</code><a href="#setrolemanager" class="hash-link" aria-label="رابط مباشر إلى setrolemanager" title="رابط مباشر إلى setrolemanager" translate="no">​</a></h3>
<p>الدالة <code>SetRoleManager</code> تضبط مدير الأدوار الحالي لـ <code>g</code>.</p>
<p>على سبيل المثال:</p>
<div class="theme-tabs-container tabs-container tabList_TRJ7"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_hGfb tabs__item--active"><img src="https://cdn.casbin.org/language/go-logo-1.svg" alt="Go" class="tabIcon_JsrN" title="Go"></li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_hGfb"><img src="https://cdn.casbin.org/language/nodejs-1.svg" alt="Node.js" class="tabIcon_JsrN" title="Node.js"></li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_hGfb"><img src="https://cdn.casbin.org/language/python-5.svg" alt="Python" class="tabIcon_JsrN" title="Python"></li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_s4ch"><div class="language-go codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-go codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain"> e</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">SetRoleManager</span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">rm</span><span class="token punctuation" style="color:#393A34">)</span><br></span></code></pre></div></div></div><div role="tabpanel" class="tabItem_s4ch" hidden=""><div class="language-typescript codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-typescript codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain"> e</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">setRoleManager</span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">rm</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><br></span></code></pre></div></div></div><div role="tabpanel" class="tabItem_s4ch" hidden=""><div class="language-python codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-python codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain"> rm </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> e</span><span class="token punctuation" style="color:#393A34">.</span><span class="token plain">set_role_manager</span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">rm</span><span class="token punctuation" style="color:#393A34">)</span><br></span></code></pre></div></div></div></div></div>
<h3 class="anchor anchorTargetHideOnScrollNavbar_vjPI" id="setnamedrolemanager"><code>SetNamedRoleManager()</code><a href="#setnamedrolemanager" class="hash-link" aria-label="رابط مباشر إلى setnamedrolemanager" title="رابط مباشر إلى setnamedrolemanager" translate="no">​</a></h3>
<p>الدالة <code>SetNamedRoleManager</code> تضبط مدير الأدوار بواسطة Ptype المسمى.</p>
<p>على سبيل المثال:</p>
<div class="theme-tabs-container tabs-container tabList_TRJ7"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_hGfb tabs__item--active"><img src="https://cdn.casbin.org/language/go-logo-1.svg" alt="Go" class="tabIcon_JsrN" title="Go"></li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_hGfb"><img src="https://cdn.casbin.org/language/python-5.svg" alt="Python" class="tabIcon_JsrN" title="Python"></li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_s4ch"><div class="language-go codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-go codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain"> rm </span><span class="token operator" style="color:#393A34">:=</span><span class="token plain"> e</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">SetNamedRoleManager</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">&quot;g2&quot;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> rm</span><span class="token punctuation" style="color:#393A34">)</span><br></span></code></pre></div></div></div><div role="tabpanel" class="tabItem_s4ch" hidden=""><div class="language-python codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-python codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain"> rm </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> e</span><span class="token punctuation" style="color:#393A34">.</span><span class="token plain">set_role_manager</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">&quot;g2&quot;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> rm</span><span class="token punctuation" style="color:#393A34">)</span><br></span></code></pre></div></div></div></div></div>
<h3 class="anchor anchorTargetHideOnScrollNavbar_vjPI" id="clear"><code>Clear()</code><a href="#clear" class="hash-link" aria-label="رابط مباشر إلى clear" title="رابط مباشر إلى clear" translate="no">​</a></h3>
<p>الدالة <code>Clear</code> تمسح جميع البيانات المخزنة وتعيد مدير الأدوار إلى حالته الأولية.</p>
<p>على سبيل المثال:</p>
<div class="theme-tabs-container tabs-container tabList_TRJ7"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_hGfb tabs__item--active"><img src="https://cdn.casbin.org/language/go-logo-1.svg" alt="Go" class="tabIcon_JsrN" title="Go"></li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_hGfb"><img src="https://cdn.casbin.org/language/nodejs-1.svg" alt="Node.js" class="tabIcon_JsrN" title="Node.js"></li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_hGfb"><img src="https://cdn.casbin.org/language/python-5.svg" alt="Python" class="tabIcon_JsrN" title="Python"></li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_s4ch"><div class="language-go codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-go codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain"> rm</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">Clear</span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">)</span><br></span></code></pre></div></div></div><div role="tabpanel" class="tabItem_s4ch" hidden=""><div class="language-typescript codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-typescript codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token keyword" style="color:#00009f">await</span><span class="token plain"> rm</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">clear</span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><br></span></code></pre></div></div></div><div role="tabpanel" class="tabItem_s4ch" hidden=""><div class="language-python codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-python codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain"> rm</span><span class="token punctuation" style="color:#393A34">.</span><span class="token plain">clear</span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">)</span><br></span></code></pre></div></div></div></div></div>
<h3 class="anchor anchorTargetHideOnScrollNavbar_vjPI" id="addlink"><code>AddLink()</code><a href="#addlink" class="hash-link" aria-label="را�بط مباشر إلى addlink" title="رابط مباشر إلى addlink" translate="no">​</a></h3>
<p>تضيف AddLink رابط الوراثة بين دورين. الدور: name1 والدور: name2.
النطاق هو بادئة للأدوار (يمكن استخدامها لأغراض أخرى).</p>
<p>على سبيل المثال:</p>
<div class="theme-tabs-container tabs-container tabList_TRJ7"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_hGfb tabs__item--active"><img src="https://cdn.casbin.org/language/go-logo-1.svg" alt="Go" class="tabIcon_JsrN" title="Go"></li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_hGfb"><img src="https://cdn.casbin.org/language/nodejs-1.svg" alt="Node.js" class="tabIcon_JsrN" title="Node.js"></li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_hGfb"><img src="https://cdn.casbin.org/language/python-5.svg" alt="Python" class="tabIcon_JsrN" title="Python"></li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_s4ch"><div class="language-go codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-go codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain"> rm</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">AddLink</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">&quot;u1&quot;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&quot;g1&quot;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&quot;domain1&quot;</span><span class="token punctuation" style="color:#393A34">)</span><br></span></code></pre></div></div></div><div role="tabpanel" class="tabItem_s4ch" hidden=""><div class="language-typescript codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-typescript codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token keyword" style="color:#00009f">await</span><span class="token plain"> rm</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">addLink</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">&#x27;u1&#x27;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&#x27;g1&#x27;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&#x27;domain1&#x27;</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><br></span></code></pre></div></div></div><div role="tabpanel" class="tabItem_s4ch" hidden=""><div class="language-python codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-python codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain"> rm</span><span class="token punctuation" style="color:#393A34">.</span><span class="token plain">add_link</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">&quot;u1&quot;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&quot;g1&quot;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&quot;domain1&quot;</span><span class="token punctuation" style="color:#393A34">)</span><br></span></code></pre></div></div></div></div></div>
<h3 class="anchor anchorTargetHideOnScrollNavbar_vjPI" id="deletelink"><code>DeleteLink()</code><a href="#deletelink" class="hash-link" aria-label="رابط مباشر إلى deletelink" title="رابط مباشر إلى deletelink" translate="no">​</a></h3>
<p>تحذف DeleteLink رابط الوراثة بين دورين. الدور: name1 والدور: name2.
النطاق هو بادئة للأدوار (يمكن استخدامها لأغراض أخرى).</p>
<p>على سبيل المثال:</p>
<div class="theme-tabs-container tabs-container tabList_TRJ7"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_hGfb tabs__item--active"><img src="https://cdn.casbin.org/language/go-logo-1.svg" alt="Go" class="tabIcon_JsrN" title="Go"></li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_hGfb"><img src="https://cdn.casbin.org/language/nodejs-1.svg" alt="Node.js" class="tabIcon_JsrN" title="Node.js"></li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_hGfb"><img src="https://cdn.casbin.org/language/python-5.svg" alt="Python" class="tabIcon_JsrN" title="Python"></li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_s4ch"><div class="language-go codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-go codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain"> rm</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">DeleteLink</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">&quot;u1&quot;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&quot;g1&quot;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&quot;domain1&quot;</span><span class="token punctuation" style="color:#393A34">)</span><br></span></code></pre></div></div></div><div role="tabpanel" class="tabItem_s4ch" hidden=""><div class="language-typescript codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-typescript codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token keyword" style="color:#00009f">await</span><span class="token plain"> rm</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">deleteLink</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">&#x27;u1&#x27;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&#x27;g1&#x27;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&#x27;domain1&#x27;</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><br></span></code></pre></div></div></div><div role="tabpanel" class="tabItem_s4ch" hidden=""><div class="language-python codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-python codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain"> rm</span><span class="token punctuation" style="color:#393A34">.</span><span class="token plain">delete_link</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">&quot;u1&quot;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&quot;g1&quot;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&quot;domain1&quot;</span><span class="token punctuation" style="color:#393A34">)</span><br></span></code></pre></div></div></div></div></div>
<h3 class="anchor anchorTargetHideOnScrollNavbar_vjPI" id="haslink"><code>HasLink()</code><a href="#haslink" class="hash-link" aria-label="رابط مباشر إلى haslink" title="رابط مباشر إلى haslink" translate="no">​</a></h3>
<p>تحدد HasLink ما إذا كان هناك رابط بين دورين. الدور: name1 يرث الدور: name2.
النطاق هو بادئة للأدوار (يمكن استخدامها لأغراض أخرى).</p>
<p>على سبيل المثال:</p>
<div class="theme-tabs-container tabs-container tabList_TRJ7"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_hGfb tabs__item--active"><img src="https://cdn.casbin.org/language/go-logo-1.svg" alt="Go" class="tabIcon_JsrN" title="Go"></li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_hGfb"><img src="https://cdn.casbin.org/language/nodejs-1.svg" alt="Node.js" class="tabIcon_JsrN" title="Node.js"></li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_hGfb"><img src="https://cdn.casbin.org/language/python-5.svg" alt="Python" class="tabIcon_JsrN" title="Python"></li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_s4ch"><div class="language-go codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-go codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain"> rm</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">HasLink</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">&quot;u1&quot;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&quot;g1&quot;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&quot;domain1&quot;</span><span class="token punctuation" style="color:#393A34">)</span><br></span></code></pre></div></div></div><div role="tabpanel" class="tabItem_s4ch" hidden=""><div class="language-typescript codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-typescript codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token keyword" style="color:#00009f">await</span><span class="token plain"> rm</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">hasLink</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">&#x27;u1&#x27;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&#x27;g1&#x27;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&#x27;domain1&#x27;</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><br></span></code></pre></div></div></div><div role="tabpanel" class="tabItem_s4ch" hidden=""><div class="language-python codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-python codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain"> rm</span><span class="token punctuation" style="color:#393A34">.</span><span class="token plain">has_link</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">&quot;u1&quot;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&quot;g1&quot;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&quot;domain1&quot;</span><span class="token punctuation" style="color:#393A34">)</span><br></span></code></pre></div></div></div></div></div>
<h3 class="anchor anchorTargetHideOnScrollNavbar_vjPI" id="getroles"><code>GetRoles()</code><a href="#getroles" class="hash-link" aria-label="رابط مباشر إلى getroles" title="رابط مباشر إلى getroles" translate="no">​</a></h3>
<p>تحصل GetRoles على الأدوار التي يرثها المستخدم.
النطاق هو بادئة للأدوار (يمكن استخدامها لأغراض أخرى).</p>
<p>على سبيل المثال:</p>
<div class="theme-tabs-container tabs-container tabList_TRJ7"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_hGfb tabs__item--active"><img src="https://cdn.casbin.org/language/go-logo-1.svg" alt="Go" class="tabIcon_JsrN" title="Go"></li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_hGfb"><img src="https://cdn.casbin.org/language/nodejs-1.svg" alt="Node.js" class="tabIcon_JsrN" title="Node.js"></li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_hGfb"><img src="https://cdn.casbin.org/language/python-5.svg" alt="Python" class="tabIcon_JsrN" title="Python"></li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_s4ch"><div class="language-go codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-go codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain"> rm</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">GetRoles</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">&quot;u1&quot;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&quot;domain1&quot;</span><span class="token punctuation" style="color:#393A34">)</span><br></span></code></pre></div></div></div><div role="tabpanel" class="tabItem_s4ch" hidden=""><div class="language-typescript codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-typescript codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token keyword" style="color:#00009f">await</span><span class="token plain"> rm</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">getRoles</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">&#x27;u1&#x27;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&#x27;domain1&#x27;</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><br></span></code></pre></div></div></div><div role="tabpanel" class="tabItem_s4ch" hidden=""><div class="language-python codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-python codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain"> rm</span><span class="token punctuation" style="color:#393A34">.</span><span class="token plain">get_roles</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">&quot;u1&quot;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&quot;domain&quot;</span><span class="token punctuation" style="color:#393A34">)</span><br></span></code></pre></div></div></div></div></div>
<h3 class="anchor anchorTargetHideOnScrollNavbar_vjPI" id="getusers"><code>GetUsers()</code><a href="#getusers" class="hash-link" aria-label="رابط مباشر إلى getusers" title="رابط مباشر إلى getusers" translate="no">​</a></h3>
<p>تحصل GetUsers على المستخدمين الذين يرثون دورًا.
النطاق هو بادئة للمستخدمين (يمكن استخدامها لأغراض أخرى).</p>
<p>على سبيل المثال:</p>
<div class="theme-tabs-container tabs-container tabList_TRJ7"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_hGfb tabs__item--active"><img src="https://cdn.casbin.org/language/go-logo-1.svg" alt="Go" class="tabIcon_JsrN" title="Go"></li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_hGfb"><img src="https://cdn.casbin.org/language/nodejs-1.svg" alt="Node.js" class="tabIcon_JsrN" title="Node.js"></li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_hGfb"><img src="https://cdn.casbin.org/language/python-5.svg" alt="Python" class="tabIcon_JsrN" title="Python"></li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_s4ch"><div class="language-go codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-go codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain"> rm</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">GetUsers</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">&quot;g1&quot;</span><span class="token punctuation" style="color:#393A34">)</span><br></span></code></pre></div></div></div><div role="tabpanel" class="tabItem_s4ch" hidden=""><div class="language-typescript codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-typescript codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token keyword" style="color:#00009f">await</span><span class="token plain"> rm</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">getUsers</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">&#x27;g1&#x27;</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><br></span></code></pre></div></div></div><div role="tabpanel" class="tabItem_s4ch" hidden=""><div class="language-python codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-python codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain"> rm</span><span class="token punctuation" style="color:#393A34">.</span><span class="token plain">get_users</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">&quot;g1&quot;</span><span class="token punctuation" style="color:#393A34">)</span><br></span></code></pre></div></div></div></div></div>
<h3 class="anchor anchorTargetHideOnScrollNavbar_vjPI" id="printroles"><code>PrintRoles()</code><a href="#printroles" class="hash-link" aria-label="رابط مباشر إلى printroles" title="رابط مباشر إلى printroles" translate="no">​</a></h3>
<p>تطبع PrintRoles جميع الأدوار إلى السجل.</p>
<p>على سبيل المثال:</p>
<div class="theme-tabs-container tabs-container tabList_TRJ7"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_hGfb tabs__item--active"><img src="https://cdn.casbin.org/language/go-logo-1.svg" alt="Go" class="tabIcon_JsrN" title="Go"></li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_hGfb"><img src="https://cdn.casbin.org/language/nodejs-1.svg" alt="Node.js" class="tabIcon_JsrN" title="Node.js"></li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_hGfb"><img src="https://cdn.casbin.org/language/python-5.svg" alt="Python" class="tabIcon_JsrN" title="Python"></li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_s4ch"><div class="language-go codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-go codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain"> rm</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">PrintRoles</span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">)</span><br></span></code></pre></div></div></div><div role="tabpanel" class="tabItem_s4ch" hidden=""><div class="language-typescript codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-typescript codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token keyword" style="color:#00009f">await</span><span class="token plain"> rm</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">printRoles</span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><br></span></code></pre></div></div></div><div role="tabpanel" class="tabItem_s4ch" hidden=""><div class="language-python codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-python codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain"> rm</span><span class="token punctuation" style="color:#393A34">.</span><span class="token plain">print_roles</span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">)</span><br></span></code></pre></div></div></div></div></div>
<h3 class="anchor anchorTargetHideOnScrollNavbar_vjPI" id="setlogger"><code>SetLogger()</code><a href="#setlogger" class="hash-link" aria-label="رابط مباشر إلى setlogger" title="رابط مباشر إلى setlogger" translate="no">​</a></h3>
<p>تضبط SetLogger سجل مدير الأدوار.</p>
<p>على سبيل المثال:</p>
<div class="theme-tabs-container tabs-container tabList_TRJ7"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_hGfb tabs__item--active"><img src="https://cdn.casbin.org/language/go-logo-1.svg" alt="Go" class="tabIcon_JsrN" title="Go"></li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_s4ch"><div class="language-go codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-go codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain"> logger </span><span class="token operator" style="color:#393A34">:=</span><span class="token plain"> log</span><span class="token punctuation" style="color:#393A34">.</span><span class="token plain">DefaultLogger</span><span class="token punctuation" style="color:#393A34">{</span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> logger</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">EnableLog</span><span class="token punctuation" style="color:#393A34">(</span><span class="token boolean" style="color:#36acaa">true</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> rm</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">SetLogger</span><span class="token punctuation" style="color:#393A34">(</span><span class="token operator" style="color:#393A34">&amp;</span><span class="token plain">logger</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token boolean" style="color:#36acaa">_</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> rm</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">PrintRoles</span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">)</span><br></span></code></pre></div></div></div></div></div>
<h3 class="anchor anchorTargetHideOnScrollNavbar_vjPI" id="getdomains"><code>GetDomains()</code><a href="#getdomains" class="hash-link" aria-label="رابط مباشر إلى getdomains" title="رابط مباشر إلى getdomains" translate="no">​</a></h3>
<p>تحصل GetDomains على النطاقات التي يمتلكها المستخدم</p>
<p>على سبيل المثال:</p>
<div class="theme-tabs-container tabs-container tabList_TRJ7"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_hGfb tabs__item--active"><img src="https://cdn.casbin.org/language/go-logo-1.svg" alt="Go" class="tabIcon_JsrN" title="Go"></li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_s4ch"><div class="language-go codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-go codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain"> result</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> err </span><span class="token operator" style="color:#393A34">:=</span><span class="token plain"> rm</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">GetDomains</span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">name</span><span class="token punctuation" style="color:#393A34">)</span><br></span></code></pre></div></div></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col noPrint_WFHX"><a href="https://github.com/casbin/casbin-website-v2/edit/master/docs/RoleManagerApi.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>تحرير هذه الصفحة</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="docusaurus-mt-lg pagination-nav" aria-label="صفحات الوثائق"><a class="pagination-nav__link pagination-nav__link--prev" href="/ar/docs/rbac-with-conditions-api"><div class="pagination-nav__sublabel">السابق</div><div class="pagination-nav__label">RBAC with Conditions API</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/ar/docs/category/advanced-usage"><div class="pagination-nav__sublabel">التالي</div><div class="pagination-nav__label">Advanced usage</div></a></nav><br></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#rolemanager" class="table-of-contents__link toc-highlight">RoleManager</a><ul><li><a href="#addnamedmatchingfunc" class="table-of-contents__link toc-highlight"><code>AddNamedMatchingFunc()</code></a></li><li><a href="#addnameddomainmatchingfunc" class="table-of-contents__link toc-highlight"><code>AddNamedDomainMatchingFunc()</code></a></li><li><a href="#getrolemanager" class="table-of-contents__link toc-highlight"><code>GetRoleManager()</code></a></li><li><a href="#getnamedrolemanager" class="table-of-contents__link toc-highlight"><code>GetNamedRoleManager()</code></a></li><li><a href="#setrolemanager" class="table-of-contents__link toc-highlight"><code>SetRoleManager()</code></a></li><li><a href="#setnamedrolemanager" class="table-of-contents__link toc-highlight"><code>SetNamedRoleManager()</code></a></li><li><a href="#clear" class="table-of-contents__link toc-highlight"><code>Clear()</code></a></li><li><a href="#addlink" class="table-of-contents__link toc-highlight"><code>AddLink()</code></a></li><li><a href="#deletelink" class="table-of-contents__link toc-highlight"><code>DeleteLink()</code></a></li><li><a href="#haslink" class="table-of-contents__link toc-highlight"><code>HasLink()</code></a></li><li><a href="#getroles" class="table-of-contents__link toc-highlight"><code>GetRoles()</code></a></li><li><a href="#getusers" class="table-of-contents__link toc-highlight"><code>GetUsers()</code></a></li><li><a href="#printroles" class="table-of-contents__link toc-highlight"><code>PrintRoles()</code></a></li><li><a href="#setlogger" class="table-of-contents__link toc-highlight"><code>SetLogger()</code></a></li><li><a href="#getdomains" class="table-of-contents__link toc-highlight"><code>GetDomains()</code></a></li></ul></li></ul></div></div></div></div></main></div></div></div><footer class="theme-layout-footer footer footer--dark"><div class="container container-fluid"><div class="row footer__links"><div class="theme-layout-footer-column col footer__col"><div class="footer__title">الوثائق</div><ul class="footer__items clean-list"><li class="footer__item"><a class="footer__link-item" href="/ar/docs/get-started">بدء الاستخدام</a></li><li class="footer__item"><a class="footer__link-item" href="/ar/docs/management-api">واجهة برمجة تطبيقات الإدارة</a></li><li class="footer__item"><a class="footer__link-item" href="/ar/docs/rbac-api">واجهة برمجة تطبيقات RBAC</a></li><li class="footer__item"><a class="footer__link-item" href="/ar/docs/middlewares">الوسطاء</a></li></ul></div><div class="theme-layout-footer-column col footer__col"><div class="footer__title">المجتمع</div><ul class="footer__items clean-list"><li class="footer__item">
<a href="https://discord.gg/S5UjpzGZjN" target="_blank" rel="noopener noreferrer" class="footer__link-item footer-community-link">
<svg class="footer-community-icon" viewBox="0 0 127.14 96.36" xmlns="http://www.w3.org/2000/svg">
<path d="M107.7,8.07A105.15,105.15,0,0,0,81.47,0a72.06,72.06,0,0,0-3.36,6.83A97.68,97.68,0,0,0,49,6.83,72.37,72.37,0,0,0,45.64,0,105.89,105.89,0,0,0,19.39,8.09C2.79,32.65-1.71,56.6.54,80.21h0A105.73,105.73,0,0,0,32.71,96.36,77.7,77.7,0,0,0,39.6,85.25a68.42,68.42,0,0,1-10.85-5.18c.91-.66,1.8-1.34,2.66-2a75.57,75.57,0,0,0,64.32,0c.87.71,1.76,1.39,2.66,2a68.68,68.68,0,0,1-10.87,5.19,77,77,0,0,0,6.89,11.1A105.25,105.25,0,0,0,126.6,80.22h0C129.24,52.84,122.09,29.11,107.7,8.07ZM42.45,65.69C36.18,65.69,31,60,31,53s5-12.74,11.43-12.74S54,46,53.89,53,48.84,65.69,42.45,65.69Zm42.24,0C78.41,65.69,73.25,60,73.25,53s5-12.74,11.44-12.74S96.23,46,96.12,53,91.08,65.69,84.69,65.69Z"/>
</svg>
<span>Discord</span>
</a>
</li><li class="footer__item">
<a href="https://stackoverflow.com/search?q=casbin" target="_blank" rel="noopener noreferrer" class="footer__link-item footer-community-link">
<svg class="footer-community-icon" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<path d="M18.986 21.865v-6.404h2.134V24H1.844v-8.539h2.13v6.404h15.012zM6.111 19.731H16.85v-2.137H6.111v2.137zm.259-4.852l10.48 2.189.451-2.07-10.478-2.187-.453 2.068zm1.359-5.056l9.705 4.53.903-1.95-9.706-4.53-.902 1.936v.014zm2.715-4.785l8.217 6.855 1.359-1.62-8.216-6.853-1.35 1.617-.01.001zM15.751 0l-1.746 1.294 6.405 8.604 1.746-1.294L15.749 0h.002z"/>
</svg>
<span>Stack Overflow</span>
</a>
</li><li class="footer__item">
<a href="https://groups.google.com/g/casbin" target="_blank" rel="noopener noreferrer" class="footer__link-item footer-community-link">
<svg class="footer-community-icon" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 3c1.66 0 3 1.34 3 3s-1.34 3-3 3-3-1.34-3-3 1.34-3 3-3zm0 14.2c-2.5 0-4.71-1.28-6-3.22.03-1.99 4-3.08 6-3.08 1.99 0 5.97 1.09 6 3.08-1.29 1.94-3.5 3.22-6 3.22z"/>
</svg>
<span>Google Groups</span>
</a>
</li></ul></div><div class="theme-layout-footer-column col footer__col"><div class="footer__title">المزيد</div><ul class="footer__items clean-list"><li class="footer__item">
<a href="https://github.com/casbin/casbin" target="_blank">
<img alt="GitHub Repo stars" src="https://img.shields.io/github/stars/casbin/casbin?label=Casbin&style=social">
</a>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<a href="https://github.com/casbin/jcasbin" target="_blank">
<img alt="GitHub Repo stars" src="https://img.shields.io/github/stars/casbin/jcasbin?label=jCasbin&style=social">
</a>
</li><li class="footer__item">
<a href="https://github.com/casbin/node-casbin" target="_blank">
<img alt="GitHub Repo stars" src="https://img.shields.io/github/stars/casbin/node-casbin?label=Node-Casbin&style=social">
</a>
&nbsp;&nbsp;
<a href="https://github.com/php-casbin/php-casbin" target="_blank">
<img alt="GitHub Repo stars" src="https://img.shields.io/github/stars/php-casbin/php-casbin?label=PHP-Casbin&style=social">
</a>
</li><li class="footer__item">
<a href="https://github.com/casbin/pycasbin" target="_blank">
<img alt="GitHub Repo stars" src="https://img.shields.io/github/stars/casbin/pycasbin?label=PyCasbin&style=social">
</a>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<a href="https://github.com/casbin/Casbin.NET" target="_blank">
<img alt="GitHub Repo stars" src="https://img.shields.io/github/stars/casbin/Casbin.NET?label=Casbin.NET&style=social">
</a>
</li><li class="footer__item">
<a href="https://github.com/casbin/casbin-cpp" target="_blank">
<img alt="GitHub Repo stars" src="https://img.shields.io/github/stars/casbin/casbin-cpp?label=Casbin-CPP&style=social">
</a>
&nbsp;&nbsp;&nbsp;&nbsp;
<a href="https://github.com/casbin/casbin-rs" target="_blank">
<img alt="GitHub Repo stars" src="https://img.shields.io/github/stars/casbin/casbin-rs?label=Casbin-RS&style=social">
</a>
</li><li class="footer__item">
<a href="https://twitter.com/casbinHQ" target="_blank">
<img alt="Twitter Follow" src="https://img.shields.io/twitter/follow/casbinHQ?style=social">
</a>
</li><li class="footer__item">
<script>var _hmt=_hmt||[];!function(){var e=document.createElement("script");e.src="https://hm.baidu.com/hm.js?2c0ffc6f8d49e98d964d59d7aa4cbf34";var t=document.getElementsByTagName("script")[0];t.parentNode.insertBefore(e,t)}()</script>
</li></ul></div></div><div class="footer__bottom text--center"><div class="margin-bottom--sm"><a class="footerLogoLink_BH7S" href="/ar/"><img src="/ar/img/casbin_min.svg" alt="شعار Casbin" class="footer__logo themedComponent_mlkZ themedComponent--light_NVdE"><img src="/ar/img/casbin_min.svg" alt="شعار Casbin" class="footer__logo themedComponent_mlkZ themedComponent--dark_xIcU"></a></div><div class="footer__copyright">Copyright © 2025 Casbin Organization</div></div></div></footer></div>
</body>
</html>