🔐 ابزار تست اجازه – ساخت ، اعتبارسنجی و مجوز امن با مجوز.

این یک ارسال برای مجوز است. چالش مجوز: مجوزها دوباره تعریف شده اند
آنچه من ساختم
جعبه ابزار تست اجازه یک ابزار CLI است که با TypeScript ساخته شده است که به تیم ها امکان می دهد معتبربا شبیه سازی کردنوت تست منطق کنترل دسترسی ریز دانه آنها با استفاده از permit.io.
✅ از هر دو پشتیبانی می کند موارد آزمایش دستی از طریق JSON وت تولید تست پویا با استفاده از شما SCHEMA LIVE PERMIT.IOبشر
✅ برای خطوط لوله CI یا تیم های آگاه امنیتی که می خواهند مناسب باشد “قبل از شکستن تولید ، سیاست های آنها را آزمایش کنید.”
✅ اوه – و در ترمینال شما نیز زیبا به نظر می رسد. 🎨
شما قوانین را می نویسید. این CLI اطمینان می دهد که آنها دنبال می شوند.
نسخه آزمایشی
$ npm start
____ ____ _ _
| _ \ ___ _ __ _ __ ___ / ___| |__ ___ ___| | __
| |_) / _ \ '__| '_ ` _ \ _____| | | '_ \ / _ \/ __| |/ /
| __/ __/ | | | | | | |_____| |___| | | | __/ (__| <
|_| \___|_| |_| |_| |_| \____|_| |_|\___|\___|_|\_\
Running tests from config: test-cases/perm-config.json
📝 Permission Test Report:
========================================
1. Viewer can read a post
➤ User: viewer
➤ Resource: post
➤ Action: read
➤ Expected: allow, Actual: allow
➤ ✅ PASS
2. Editor cannot delete a post
➤ User: editor
➤ Resource: post
➤ Action: delete
➤ Expected: deny, Actual: deny
➤ ✅ PASS
✔️ 2/2 tests passed.
perm-config.json:
{
"tests": [
{
"user": "admin",
"resource": "post",
"action": "delete",
"expected": "allow"
},
{
"user": "editor",
"resource": "post",
"action": "delete",
"expected": "deny"
}
]
}
مثال خروجی:
...
Check delete for viewer
➤ User: Sam Smith
➤ Resource: Document_number_1
➤ Action: delete
➤ Expected: allow, Actual: deny
➤ ❌ FAIL
...
Summary:
✔ Passed: 4
✘ Failed: 4
Total: 8
نصب جهانی CLI:
npm install -g .
perm-check --config path/to/perm-config.json
repo پروژه
جعبه ابزار تست اجازه یک ابزار CLI سریع و سریع است که به توسعه دهندگان کمک می کند تا به طور خودکار قوانین دسترسی (RBAC/ABAC) را که در مجوز تنظیم شده است ، آزمایش کند.
✅ ساخته شده با عملکرد ، اتوماسیون و ادغام CI/CD در ذهن – نیازی به UI نیست.
📦 ویژگی ها
- ✅ تست های اجازه سفارشی – موارد تست صریح را برای کاربران ، اقدامات و نتایج مورد انتظار تعریف کنید.
- 🚀 درون نگری طرحواره زنده -تست های مجوز تولید خودکار بر اساس طرح خط مشی شما.
- 🧠 آزمایش پوشش نقش – به طور پویا هر نقش را در برابر هر عمل در هر منبع آزمایش کنید.
- 💥 CI/CD دوستانه – برای جلوگیری از رگرسیون سیاست به راحتی در خطوط لوله ادغام شوید.
- 🛠 درجه یک -تجربه کلی ، سریع و سریع ، کاملاً در TypeScript نوشته شده است.
📸 تولید نسخه ی نمایشی
$ npm start
____ ____ _ _
| _ \ ___ _ __ _ __ ___ / ___| |__ ___ ___| | __
…
Readme شما را از طریق راه اندازی ، استفاده ،
.env
پیکربندی ، واکشی طرحواره زنده ، و ایجاد موارد آزمون خود.حتی می توانید CLI را در سطح جهانی با استفاده از آن نصب کنید
npm install -g .
دویدنperm-check
از هر کجا
سفر من
وقتی شروع کردم ، هدف من این بود که نه فقط از مجوز استفاده کنید. برای auth، اما به آثار من را آزمون و اعتماد کنیدبشر
نکات برجسته:
- با استفاده از CLI ساخته شده است
commander
باchalk
برای ux تمیز - پشتیبانی اضافه شده برای:
-
.json
تست های فایل پیکربندی (عالی برای کنترل نسخه) - بازرسی طرحواره زنده از طریق
@permit.io/sdk
(کاربران پویا/اقدامات/منابع)
-
- یک گزارش آزمایشی ترمینال قابل خواندن و رنگارنگ ایجاد کرد
- همه چیز را در یک CLI قابل نصب در سطح جهانی بسته بندی کرده است
چالش ها و دروس:
- یاد گرفت که چگونه مجوز. io api & sdk اقدامات/منابع را افشا می کند
- مقدار “عدم موفقیت سریع” در آزمایش کنترل دسترسی را کشف کرد
با استفاده از مجوز. برای مجوز
این CLI با permit.io از دو طریق اصلی:
-
تست استاتیک:
موارد تست بار از a
.json
پیکربندی و بررسیallow/deny
در برابر PDP PROLIT.IO (نقطه تصمیم گیری سیاست) از طریق استراحت. -
آزمایش طرحواره پویا:
از SDK برای واکشی همه تعریف شده استفاده کنید
users
باresources
وتactions
در پروژه Permit.io شما. سپس چک های مجوز را در سراسر صفحه شبیه سازی کنید.
📦 پتانسیل آینده
این پروژه فقط یک ابزار نیست – این پایه و اساس یک کتابخانه اعتبار سنجی مجوز است که می تواند:
- به عنوان یک بسته NPM منتشر شود
- ادغام در خطوط لوله CI (به عنوان مثال ، اقدامات GitHub)
- پوشش مجوز را تجسم کنید
🙌 تیم یا انفرادی
این یک پروژه انفرادی بود.
با تشکر فراوان از Premit.io و dev.to برای سازماندهی این چالش و ارائه مستندات و ابزار عالی.
این تجربه هم پاداش دهنده و هم توانمند بود – این نه تنها درک من از گردش کار مجوز مدرن را عمیق تر کرد بلکه به من الهام بخش بود تا چیزی را که شاید برای جامعه توسعه دهنده مفید باشد ، بسازم.