حقوق دسترسی به سایت
جهت دسترسی کاربران به پروژه نیازی به اعمال حقوق دسترسی به سایت که در ادامه به آن اشاره شده است نیست. دسترسی های زیر صرفا جهت رویت یا مدیریت پروژه های موجود در محیط نرم افزار می باشد.
*مطابق تصویر زیر تنظیمات سایت ها را فراخوانی کنید:
*کاربر مورد نظر خود را مطابق دو تصویر زیر اضافه نموده و دسترسی مورد نیاز را اعطاء نمایید:
*
حقوق دسترسی پروژه منتخب
*در ادامه مطابق فرم زیر کاربر ویندوزی خود را با دسترسی Browser به فهرست اضافه نمایید:
حقوق دسترسی Record Level
برای اعمال حقوق دسترسی کاربران به اینکه هر کاربر صرفا شیت های خاصی را ملاحظه کند می توانید به روش زیر عمل کنید:
* ابتدا دو جدول با ساختار زیر تعریف کنید
**اولین جدول برای نگهداری منوی سیستم شامل فیلدهای زیر: "نام پیشنهادی برای این جدول PageList "
App: برای دسته بندی صفحات و نمایش در حالت درختواره ای فهرست صفحات و قالب گروه بندی شده کاربرد دارد. مثلا "منابع انسانی"، "مالی" و ....
Page: محتوای این فیلد باید دقیقا هم نام شیت باشد، در هنگام راه اندازی منو سیستم با مقدار این فیلد به صفحه منتخب می رود
Title: عنوان شیت که قصد نمایش دارید در این فیلد ثبت می شود
IsActive: به شکل پیش فرض مقدار آن را 1 بگذارید. ممکن است به هر علتی بخواهید قطع دسترسی به شیت یا شیت های خاصی را برای همه اعمال کنید. مقداردهی صفر به این فیلد و بعدا در هنگام نمایش منوی سیستم فیلتر گذاشتن روی این فیلد و نمایش عناوین فقط در صورت 1 بودن این امکان را برای شما فراهم می کند.
**دومین جدول برای نگهداری دسترسی کاربر به صفحات شامل فیلدهای زیر است. "نام پیشنهادی برای این جدول PagePermission"
Username: نام کاربری (از دامین)
Page: نام شیتی که کاربر دسترسی دارد. ارتباط بین این جدول و جدول اول روی همین فیلد است.
اکنون یک measure با عنوان PageAccess بسازید و مقدار آن را معادل زیر قرار دهید
*از منوی power bi و بخش modeling گزینه manage roles را انتخاب کنید. در ادامه یک role مثلا با عنوان PLS تعریف کنید (مخفف Page Level Security). این Role را برروی جدول PagePermission اعمال کنید و در نهایت در بخش فرمول نویسی DAX یکی از مقدارهای زیر را درج کنید.
[username] = USERNAME()
[username] = USERPRINCIPALNAME()
*اکنون از بخش وب report server پس از انتخاب manage از پروژه مورد نظر، بخش role level security، ابتدا user مورد نظر را اضافه کرده role مورد نظر (اینجا PLS)را تیک بزنید.
*برای شبیه سازی نمایش منو از جدول PageList میتوانید از ویژوال Matrix استفاده کنید
*حال در کنار منویی که ساخته شده یک دکمه گذاشته و گزینه Action آن را انتخاب کرده و نوع آن را Page Navigation قرار دهید. سپس آیکون Fx را انتخاب نمایید.
format style = field value و مقدار آن را به فیلدی که قبل از این در جدول PagePer ساخته بودید انتخاب نمایید.
*پس از انجام کارهای بالا تمامی شیت ها بغیر از شیتی که منو را در آن قرار داده اید پنهان نمایید. در تمامی صفحات هم یک دکمه با نقش back قرار دهید.
*اکنون هنگام لاگین کاربر به صفحه وب، فقط شیت منو را ملاحظه خواهد کرد و درختی که فهرست شیت ها را نمایش می دهد صرفا شامل شیت هایی خواهد بود که کاربر مورد نظر دسترسی دارد.