• 1400/03/19

dynamic authorization attribute :

سلام و روز تون بخیر 

اول تشکر می کنم بابت دوره فوق العادتون 

یک سوال داشتم در قسمتی که ما یک attribute جدید ساختیم برای دسترسی کاربر ها

[ClaimBasedAuthorization(EmployeeControllerClaimValues.EmployeeIndex)]

ما در این attribute یک property با نام ClaimToAuthorize ساختیم برای گرفتن نام Claim که نیاز است تا اجازه ورود را به کاربر بدهد

و با متد GetPersianAndEnglishClaimValues نام فارسی را گرفتیم 

حال به جای این کار ,کار های زیر را انجام دهیم

[ClaimBasedAuthorization("EmployeeIndex","صفحه اصلی مدیریت کارمند ها")]

در همون attribute که ساختیم نام فارسی را مثلا در یک property با نام DisplayName و در همان مدلی که attribute را ساختیم ذخیره کنیم

public ImmutableHashSet<MvcNamesModel> MvcInfoForActionsThatRequireClaimBasedAuthorization { get; }

و در کد بالا که لیست نام های area , action , controller قرار دارد نام فارسی را هم ذخیره کنیم

 

 

با تشکر فراوان بابت آموزش عالی شما

  • 1400/03/19
  • ساعت 16:49

سلام عزیز.

بله این روش هم میشه استفاده کرد، حتی ممکنه بهتر هم باشه ولی مطمئن نیستم باید روش فکر بشه و تاثیرش رو بقیه سرویس ها هم در نظر گرفته بشه.

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


  • 1400/03/20
  • ساعت 10:52

خیلی ممنون 


  • 1400/03/20
  • ساعت 11:55

خواهش میکنم عزیز، موفق باشید.


logo-samandehi