- آیا در دادههای شما مشخص است هر رکورد توسط چه شخصی قابل مشاهده است (مثلا به ازای هر رکوردی که ثبت شده، یک فیلد سطوح دسترسی هم هست؛ با رابطهی یک به چند البته)؟ چون عموما کسی چنین کاری را انجام نمیدهد (به علت پیچیدگی بیش از حد، نیاز به ثبت اطلاعات بیشتر برای کاربر و اپراتور(؟) و چند سطحی شدن و نیاز به join اضافی و ... آیا باید به اپراتوری که دادهها را ثبت میکند در این حالت اطمینان کرد که خودش را داخل لیست قرار ندهد؟). روش متداول این است که اگر شخصی به صفحهای دسترسی داشت، یعنی به تمام اجزا و اطلاعات آن دسترسی دارد. یکسری از گزارشها مدیریتی هستند و یکسری عمومی. اگر گزارشی مدیریتی است، نصف آن برای کاربر معمولی نمایش داده نمیشود. کل آن برای کاربر معمولی قابل دسترسی نیست.
- گیرم چنین فیلد اضافی را هم به هر رکورد اضافه و ثبت کردید، روش اعمال خودکار آن همانند
بحثهای soft delete است که در EF Core به صورت توکار پشتیبانی میشود.
- همچنین در مورد دیدن یا ندیدن قسمتهایی از صفحه که شخص بر اساس نقشهای او نباید آنها را مشاهده کند، یک tag helper ویژه به نام «SecurityTrimmingTagHelper» طراحی شدهاست که توضیحات آن در متن جاری هست.