زمان جاری: 2012/05/25, 02:29 PM خوش آمدید مهمان گرامی! (ورودعضویت)



سوال در مورد ACL


ارسال موضوع  ارسال پاسخ 
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
رتبه موضوع:
 
سوال در مورد ACL
نویسنده پیام
person آفلاین
عضو جدید
*

ارسال‌ها: 16
تاریخ عضویت: Jul 2011
رتبه: 0
تشکر: 18
2 بار تشکر شده در 1 پست
ارسال: #1
سوال در مورد ACL
با سلام
فرض کنیم که گروه های کاربری ما اینهان:
سردبیر
ویراستار
نویسنده

حالا میخایم همچین ساختاری رو پیاده کنیم:
سردبیر بتونه تمامی مطالب تمامی گروه ها رو ویرایش و حذف کنه
ویراستار صرفن حق ویرایش مطالب نوشته شده توسط نویسنده رو داشته باشه
نویسنده صرفن حق ویرایش مطالب خودش رو داشته باشه

حالا فرض می کنیم که آدرس زیر مربوط به مطلب ارسالی سردبیره
کد:
articles/edit/4
و آدرس زیر مربوط به مطلب ارسالی نویسنده:
کد:
articles/edit/7
در این صورت ما چطور میتونیم این الگو رو پیاده کنیم که ویراستار به اولی دسترسی نداشته باشه و به دومی داشته باشه؟
آیا باید برای هر کدوم از دو آدرس فوق یک ACO جداگانه تعریف کنیم؟
2011/08/09 05:00 PM
یافتن تمامی ارسال‌های این کاربر نقل قول این ارسال در پاسخ
saleh آنلاین
Administrator
*******

ارسال‌ها: 993
تاریخ عضویت: Dec 2009
رتبه: 12
تشکر: 402
873 بار تشکر شده در 561 پست
ارسال: #2
RE: سوال در مورد ACL
acl فقط کنترلر ها و متد ها رو در جداول نگه داری میکنه.

شما باید در مدلتون این مورد رو بررسی کنید. به این صورت که هر کسی پستی ارسال میکنه کد یوزر درج کننده رو در کنار سایر فیلد ها داشته باشید.
و بعد از واکشی اون رکورد اهراز هویت رو چک کنید.
2011/08/09 07:10 PM
مشاهده سایت کاربر یافتن تمامی ارسال‌های این کاربر نقل قول این ارسال در پاسخ
 تشکر شده توسط : ghasem.fattahpour payamsp
person آفلاین
عضو جدید
*

ارسال‌ها: 16
تاریخ عضویت: Jul 2011
رتبه: 0
تشکر: 18
2 بار تشکر شده در 1 پست
ارسال: #3
RE: سوال در مورد ACL
توی کتاب کیک نوشته:
کد:
ACOs could be anything you want to control, from a controller action, to a web service, to a line on your grandma's online diary.
رو این حساب من فکر می کنم همچین کاری که من میخام رو میشه انجام داد، هرچند هرچقدر جستجو کردم نتونستم مثالی شبیه اینی که من میخام پیدا کنم، تمامی مثال ها در مورد کنترل کردن کنترل ها و اکشن ها بود.
اینکه توی مدل ها به صورت دستی چک کنم زیاد جالب نیست
شما تجربه ای در این زمینه ندارین؟
2011/08/10 10:24 AM
یافتن تمامی ارسال‌های این کاربر نقل قول این ارسال در پاسخ
saleh آنلاین
Administrator
*******

ارسال‌ها: 993
تاریخ عضویت: Dec 2009
رتبه: 12
تشکر: 402
873 بار تشکر شده در 561 پست
ارسال: #4
RE: سوال در مورد ACL
طبق همین متنی که گذاشتید حرفی از مدل نیاورده. و اگر دقت کنید. شما می خواهید پارامتر یک اکشن روش کنترل کنید.

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

من تا الان 3 روش رو پیاده سازی کردم.

1- روش که در بالا گفتم و به کمک behaviour ها در تموم مدل هام دسترسی ها رو برای یک رکورد چک می کنم.
2- یک جدول مجزا ایجاد کردم. و هر رکوردی که ایجاد میشه رو با سایر پارمتر های لازم نگه داری می کنم. هم لاگ ویرایش و تغییرات رو دارم. هم میتونم تو این جدول تشخیص بدم سطوح دسترسی ها رو
3- کلا acl رو واسه نیاز های مختلفی که داشتم . توسعه دادم. در اصل ACL رو با معماری خاصی پیاده سازی کردیم.(هیچ شباهتی به acl کیک نداره)


اما یک نکته الان یادم افتاد. شما اگر از curd استفاده کنید. می تونید به یک گوره کلا اجازه ویرایش ندیید.
2011/08/10 05:25 PM
مشاهده سایت کاربر یافتن تمامی ارسال‌های این کاربر نقل قول این ارسال در پاسخ
ارسال موضوع  ارسال پاسخ 


پرش در انجمن: