3 پاسخ

پیاده سازی سطوح دسترسی داینامیک در انگولار

سلام دوستان خسته نباشید

من یک پنل مدیریت دارم که ادمین اصلی میتونه تو این پنل برای هر کاربر سطح دسترسی متفاوتی تعریف کنه
تا اون جا که من میدونم کنترل سطوح دسترسی در انگولار با استفاده از Gaurd ها انجام میشه و روش خاص خودش رو داره ...

اما این روش استاتیک هست و ما باید به صورت دستی چند رول مختلف رو مشخص کنیم و بر اساس اون بریم جلو ...

حالا اگه سطوح دسترسی به شکلی که گفتم باشه چطور ؟ ما فقط ۲ تا سطح دسترسی رو از قبل میدونیم : کاربران عادی و ادمین کل
حالا بقیه سطوح و ادمین های سطح ۱ ، سطح ۲ و ... رو چه کنیم ؟

چیزی که خودم به ذهنم رسید اینه که هنگامی که منو داره ساخته میشه ، آیتم های موجود در اون رو با توجه به اطلاعاتی که از وب سرویس گرفتیم ایجاد کنیم
مثلا تو وب سرویس بگیم

user = {
    username : 'mohammad',
    avatar : 'url ...',
    roles : [ 'add new user', 'get sale report', 'edit posts' , '...' ]
  };

بعد برای هر آیتم منو یک اسم در نظر بگیریم و اگر اسمش داخل آبجکتی که از سرور دریافت میکنیم موجود بود ، اون رو نمایش بدیم ...

ممنون میشم راهنماییم کنید


ثبت پرسش جدید
حسام موسوی
تخصص : طراح و برنامه نویس
@hesammousavi 7 سال پیش مطرح شد
1

یک چیزی که اشتباه متوجه شدین اینکه role های شما برای مثال باید شامل نویسنده وبسایت ، ناظر وبسایت ، مدیر کل و .... بشه یعنی کاملا پویا در پنل مدیریت هم میتونید یک بخش برای ایجاد role های جدید اماده کنید اما اون چیزی که باید استاتیک باشه که شما به اشتباه داخل role تعریف کردین permission هست برای مثال اجازه تغییر یک پست ، اجازه ویرایش یک پست و ...
و اینکه بله اطلاعات رو باید از api بگیرید ولی برای مثال در برنامه خودتون permission ها رو باید شروطش رو قرار بدید و هر زمان اطلاعات کاربر اومد با اون چک بشه که اوکی هست یا نه البته این تنها client هست
حتما پیشنهاد میکنم سمت سرور و api هم همین اجازه دسترسی قرار داده بشه


محمد رعنایی نظام دوست
تخصص : توسعه دهنده فرانت اند
@mohammadranaei 7 سال پیش مطرح شد
0

آها یعنی به همین روشی که گفتم به جای role ها ، permission ها رو از وب سرویس دریافت کنم و با توجه به اون آیتم ها رو hide و show کنم ؟ درسته ؟
حالا آیا ابزار خاصی هم وجود داره برای اینکار ؟ یا مثلا اصتلاح خاصی که در موردش سرچ کنم
یکی از دوستان ngx-permissions رو معرفی کردن ...

بله سمت سرور کاملا همه دسترسی ها بررسی میشه
من توکن رو از فرانت به بک اند ارسال میکنم و اونجا از روی توکن و یوزرنیم کامل همه چیز کنترل میشه


حسام موسوی
تخصص : طراح و برنامه نویس
@hesammousavi 7 سال پیش مطرح شد
1

بله در مورد acl در انگولار تحقیق کنید پکیج های کاربردی و زیادی برای این موضوع وجود داره که راحت میتونید پیاده سازی کنید .


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام