حقوق دسترسی

Access rights مجوزهایی هستند که محتوا و اپلیکیشن‌هایی را که کاربران می‌توانند به آنها دسترسی داشته باشند و آنها را ویرایش کنند تعیین می‌کنند. در Odoo، این مجوزها را می‌توان برای کاربران فردی یا برای گروه‌های کاربران تنظیم کرد. محدود کردن مجوزها به فقط کسانی که به آنها نیاز دارند تضمین می‌کند که کاربران چیزی را که نباید به آن دسترسی داشته باشند تغییر یا حذف نکنند.

تنها یک administrator می‌تواند حقوق دسترسی را تغییر دهد.

خطر

ایجاد تغییرات در حقوق دسترسی می‌تواند تأثیر مخربی بر پایگاه داده داشته باشد. این شامل impotent admin است، که به این معنی است که هیچ کاربری در پایگاه داده نمی‌تواند تغییراتی در حقوق دسترسی ایجاد کند. به همین دلیل، Odoo توصیه می‌کند قبل از ایجاد تغییرات با یک Odoo Business Analyst یا تیم پشتیبانی ما تماس بگیرید.

نکته

یک کاربر باید حقوق دسترسی Administration خاصی را در پروفایل کاربر خود تنظیم کرده باشد، تا بتواند در تنظیمات کاربر دیگر برای حقوق دسترسی تغییرات ایجاد کند.

برای دسترسی به این تنظیم، به تنظیمات ↤ مدیریت کاربران ↤ select a user ↤ Access Rights tab ↤ Administration section ↤ Administration field بروید.

هنگامی که در تنظیم هستید، یک administrator موجود باید تنظیم را در فیلد مدیریت به سطوح دسترسی تغییر دهد.

هنگامی که کامل شد، روی ذخیره کلیک کنید تا تغییرات ذخیره شوند و کاربر را به‌عنوان یک administrator پیاده‌سازی کنید.

مدیریت مجوزهای کاربر

حقوق دسترسی برای کاربران فردی هنگام افزودن کاربر به پایگاه داده تنظیم می‌شوند، اما می‌توانند در هر زمان در پروفایل کاربر تنظیم شوند.

برای ایجاد تغییرات در حقوق یک کاربر، روی کاربر مورد نظر کلیک کنید تا پروفایل آنها ویرایش شود.

منوی Users در بخش Users & Companies در اپ Settings در Odoo.

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

برای هر اپ، از منوی کشویی استفاده کنید تا انتخاب کنید این کاربر باید چه سطحی از مجوز داشته باشد. گزینه‌ها برای هر بخش متفاوت هستند، با این حال رایج‌ترین آنها عبارتند از: Blank/None، User: Own Documents، User: All Documents یا Administrator.

فیلد مدیریت در زبانهٔ سطوح دسترسی گزینه‌های زیر را دارد: تنظیمات یا سطوح دسترسی.

منوی کشویی اپ‌های Sales برای تنظیم سطح مجوزهای کاربر.

مدیریت مجوزهای خاص

در حالی که حقوق دسترسی معمولاً در دسته‌ها زیر نقش‌های خاص اختصاص داده می‌شوند، می‌توانند به‌عنوان مجوزهای صریح نیز تنظیم شوند.

Example

هنگامی که یک کاربر مجوز Administrator را برای Timesheets اختصاص داده می‌شود، به آنها دسترسی کامل به آن اپ می‌دهد. آن کاربر، در حالی که دسترسی کامل دارد، همچنان می‌تواند توانایی مدیریت تایم‌شیت‌های خود را محدود کند — مانند مورد یک administrator حقوق و دستمزد حقوق‌بگیر که نیازی به ردیابی زمان ندارد.

برای مدیریت مجوزهای خاص، developer mode باید فعال باشد.

پس از آن، به اپ تنظیمات بروید. سپس روی مدیریت کاربران کلیک کنید، یک کاربر را انتخاب کنید و به زبانهٔ Technical Access Rights بروید. از اینجا، گروه‌ها می‌توانند ویرایش شوند، و حقوق دسترسی خاص می‌توانند در بخش‌های مختلف مدیریت شوند. اگر هیچ تغییری در این گروه‌ها انجام نشود، مجوزهای آنها انتخاب‌های انجام‌شده در زبانهٔ سطوح دسترسی را منعکس خواهد کرد.

  • Selected groups: یک فهرست از حقوق دسترسی دقیق، که توسط انتخاب‌های انجام‌شده در زبانهٔ سطوح دسترسی تنظیم می‌شود.

  • Groups added automatically: مجوزهای ضمنی که با مجوزهای صریح اعطاشده به کاربر به ارث برده می‌شوند. مقادیر اینجا با مقادیر فهرست‌شده زیر فرم یک Group خاص که در منوی کاربران و شرکت‌ها ↤ گروه‌ها، در زبانهٔ موروثی قرار دارد، مطابقت خواهد داشت.

زبانهٔ technical access rights که برای یک پروفایل کاربر باز شده است.

Example

هنگامی که مجموعهٔ مجوز Sales Administrator به یک کاربر اختصاص داده می‌شود، مجوزهای Canned Responses Administrator به‌صورت خودکار به ارث برده می‌شوند. این تخصیص‌ها در مقادیر فهرست‌شده در جداول Selected Groups و Groups added automatically به‌ترتیب منعکس می‌شوند.

برای افزودن یک مجوز به این پروفایل کاربر، روی افزودن یک سطر در جدول Selected groups کلیک کنید و سپس مجوزها را به این پروفایل کاربر اضافه کنید. برای حذف یک مجوز، روی آیکون (cancel) در انتهای ردیف آن مجوز کلیک کنید.

هشدار

حذف مجوزها از فهرست Selected Groups می‌تواند بر مجوزهایی که در فهرست Groups added automatically فهرست شده‌اند تأثیر بگذارد، زیرا گروه‌های مجوز انتخاب‌شده تعیین می‌کنند چه گروه‌های مجوز به‌صورت خودکار اضافه می‌شوند.

کلیک روی خود مجوز یک فرم مدیریت گروه را باز می‌کند. بیشتر دربارهٔ managing groups بیاموزید.

هر مجوز در بخش Groups added automatically توسط مجوز نشان‌داده‌شده در بخش Selected groups ضمنی یا مورد نیاز است. اینها را نمی‌توان حذف کرد، اما می‌توان کاربران بیشتری را با کلیک روی خود مجوز و سپس افزودن کاربر به گروه آن مجوز این مجوزها را داد.

توجه

  • هر مجوزی به رنگ سبز توسط مجوز دیگری (برای مثال، تنظیم مجوز اپ وبسایت به Editor and Designer همچنین به آن کاربر مجوز Restricted Editor را می‌دهد) از قبل ارائه شده است.

  • هر مجوزی به رنگ قرمز در تضاد است و نمی‌تواند همزمان فعال باشد.

  • هر مجوزی به italics توسط یک Selected group ضمنی است (اینها معمولاً در Groups added automatically یافت می‌شوند).

ایجاد و تغییر گروه‌ها

Groups مجموعه‌های مجوزهای مختص اپ هستند که برای مدیریت حقوق دسترسی مشترک برای تعداد زیادی از کاربران استفاده می‌شوند. Administrator‌ها می‌توانند گروه‌های موجود در Odoo را تغییر دهند یا گروه‌های جدید ایجاد کنند تا قوانینی برای مدل‌های درون یک اپلیکیشن تعریف کنند.

برای دسترسی به گروه‌ها، ابتدا developer mode Odoo را فعال کنید، سپس به تنظیمات ↤ کاربران و شرکت‌ها ↤ گروه‌ها بروید.

منوی Groups در بخش Users & Companies در اپ Settings در Odoo.

برای ایجاد یک گروه جدید از صفحهٔ گروه‌ها، روی ایجاد کلیک کنید. سپس، از فرم گروه خالی، یک برنامه را انتخاب کنید و فرم گروه را کامل کنید (در زیر شرح داده شده است).

برای تغییر یک گروه موجود، روی یک گروه موجود از فهرست نمایش‌داده‌شده در صفحهٔ گروه‌ها کلیک کنید و محتوای فرم را ویرایش کنید.

یک نام برای گروه وارد کنید و چک‌باکس کنار گروه به اشتراک گذاری اطلاعات را تیک بزنید، اگر این گروه برای تنظیم حقوق دسترسی برای اشتراک‌گذاری داده با برخی کاربران ایجاد شده است.

مهم

همیشه تنظیماتی را که تغییر می‌دهید آزمایش کنید تا اطمینان حاصل شود که به کاربران صحیح اعمال می‌شوند.

فرم گروه شامل چندین زبانه برای مدیریت همهٔ عناصر گروه است. در هر زبانه، روی افزودن یک سطر کلیک کنید تا یک ردیف جدید برای کاربران یا قوانین اضافه کنید، و روی آیکون (cancel) کلیک کنید تا یک ردیف حذف شود.

زبانه‌ها در فرم Groups برای تغییر تنظیمات گروه.
  • زبانهٔ کاربران: کاربران فعلی در گروه را فهرست می‌کند. کاربرانی که به رنگ مشکی فهرست شده‌اند حقوق administrative دارند. کاربران بدون دسترسی administrative به رنگ آبی ظاهر می‌شوند. روی افزودن یک سطر کلیک کنید تا کاربران را به این گروه اضافه کنید.

  • زبانهٔ موروثی: Inherited به این معنی است که کاربران اضافه‌شده به این گروه به‌صورت خودکار به گروه‌های فهرست‌شده در این زبانه اضافه می‌شوند. روی افزودن یک سطر کلیک کنید تا گروه‌های inherited اضافه شوند.

    Example

    برای مثال، اگر گروه Sales/Administrator گروه Website/Restricted Editor را در زبانهٔ موروثی خود فهرست کند، آنگاه هر کاربری که به گروه Sales/Administrator اضافه می‌شود به‌صورت خودکار دسترسی به گروه Website/Restricted Editor را نیز دریافت می‌کند.

  • زبانهٔ منوها: تعریف می‌کند گروه به کدام مدل‌ها می‌تواند دسترسی داشته باشد. روی افزودن یک سطر کلیک کنید تا یک منوی خاص اضافه شود.

  • زبانهٔ نماها: فهرست می‌کند گروه به کدام نماها در Odoo دسترسی دارد. روی افزودن یک سطر کلیک کنید تا یک نما به گروه اضافه شود.

  • زبانهٔ سطوح دسترسی: اولین سطح حقوق (مدل‌ها) را که این گروه دارد فهرست می‌کند. ستون نام نام دسترسی گروه فعلی به مدل انتخاب‌شده در ستون مدل را نشان می‌دهد.

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

    • خواندن: کاربران می‌توانند مقادیر موجود شیء را مشاهده کنند.

    • نوشتن: کاربران می‌توانند مقادیر موجود شیء را ویرایش کنند.

    • ایجاد: کاربران می‌توانند مقادیر جدیدی برای شیء ایجاد کنند.

    • حذف: کاربران می‌توانند مقادیر شیء را حذف کنند.

    نکته

    در حالی که هیچ قراردادی برای نام‌گذاری حقوق دسترسی وجود ندارد، توصیه می‌شود نامی انتخاب کنید که هدف آن را شناسایی کند.

    برای مثال، دسترسی مدیران خرید به مدل مخاطب می‌تواند res.partner.purchase.manager نام‌گذاری شود. این از نام فنی مدل تشکیل شده است، که پس از آن نامی است که گروه کاربران مورد نظر را شناسایی می‌کند.

    نام حقوق دسترسی به یک مدل.

    برای یافتن نام فنی مدل از نمای فعلی، ابتدا یک متن جایگزین در فیلد نام وارد کنید، سپس روی نام مدل کلیک کنید، سپس روی آیکون (Internal link).

  • قواعد رکورد: لایهٔ دوم حقوق ویرایش و مشاهده را فهرست می‌کند. قواعد رکورد حقوق دسترسی گروه را بازنویسی یا اصلاح می‌کنند. روی افزودن یک سطر کلیک کنید تا یک قاعدهٔ رکورد به این گروه افزوده شود. برای هر قاعده، مقادیری برای گزینه‌های زیر انتخاب کنید:

    • Apply for Read.

    • Apply for Write.

    • Apply for Create.

    • Apply for Delete.

    مهم

    قواعد رکورد با استفاده از یک دامنه نوشته می‌شوند، یا شرایطی که داده را فیلتر می‌کنند. یک عبارت دامنه فهرستی از این شرایط است. برای مثال:

    [('mrp_production_ids', 'in', user.partner_id.commercial_partner_id.production_ids.ids)]

    این قاعدهٔ رکورد برای فعال‌سازی هشدارهای مصرف MRP برای پیمانکاران فرعی است.

    Odoo کتابخانه‌ای از قواعد رکوردِ ازپیش‌پیکربندی‌شده برای سهولت استفاده دارد. کاربران بدون دانشِ دامنه‌ها (و عبارت‌های دامنه) باید پیش از ایجاد تغییرات با یک تحلیلگر کسب‌وکار Odoo یا تیم پشتیبانی Odoo مشورت کنند.

Timeout‌های session و inactivity

هنگامی که ماژول auth_timeout نصب می‌شود، administrator‌ها می‌توانند قوانین خروج خودکار را برای کاربران اختصاص‌داده‌شده به یک گروه کاربری خاص پیکربندی کنند. این ماژول ممکن است توسط برخی localizations (برای مثال، localization Australian Payroll) به‌صورت خودکار نصب شود.

پس از نصب، یک زبانهٔ Timeouts در فرم‌های گروه کاربری ظاهر می‌شود. این زبانه به administrator‌ها اجازه می‌دهد تعریف کنند کاربران می‌توانند تحت شرایط مختلف چه مدت وارد بمانند.

دو نوع timeout را می‌توان پیکربندی کرد:

مهلت بی‌فعالیتی

Inactivity timeout کنترل می‌کند آیا کاربران پس از یک دورهٔ عدم فعالیت به‌صورت خودکار خارج می‌شوند یا خیر.

برای فعال‌سازی inactivity timeout، روی زبانهٔ Timeouts کلیک کنید و چک‌باکس Inactivity را تیک بزنید. در ادامه، یا Screen lock یا Screen lock with two-factor authentication را از منوی کشویی انتخاب کنید. این تعیین می‌کند آیا کاربر باید هنگام ورود مجدد تأیید 2FA را تکمیل کند یا خیر.

سپس، مقدار زمان مورد نظر را قبل از اعمال قفل صفحه وارد کنید و یک واحد اندازه‌گیری را از منوی کشویی انتخاب کنید. عدم فعالیت را می‌توان به دقیقه، ساعت یا روز اندازه‌گیری کرد.

مهلت نشست

Session timeout کنترل می‌کند آیا کاربران پس از یک مدت زمان session ثابت، بدون توجه به فعالیت، خارج می‌شوند یا خیر.

برای فعال‌سازی session timeout، روی زبانهٔ Timeouts کلیک کنید و چک‌باکس جلسه را تیک بزنید. در ادامه، یا خروج یا Logout with two-factor authentication را از منوی کشویی انتخاب کنید. این تعیین می‌کند آیا کاربر باید هنگام ورود مجدد تأیید 2FA را تکمیل کند یا خیر.

سپس، مقدار زمان مورد نظر را قبل از خروج کاربر وارد کنید و یک واحد اندازه‌گیری را از منوی کشویی انتخاب کنید. Session timeout‌ها را می‌توان به دقیقه، ساعت یا روز اندازه‌گیری کرد.

حالت Superuser

حالت Superuser به کاربر اجازه می‌دهد قواعد رکورد و حقوق دسترسی را دور بزند. برای فعال‌سازی حالت Superuser، ابتدا developer mode را فعال کنید. سپس، به منوی debug بروید، که توسط آیکون (debug) نشان داده می‌شود و در بنر بالا قرار دارد.

در نهایت، در پایین منو، روی Become Superuser کلیک کنید.

مهم

فقط کاربرانی که دسترسی Settings برای بخش Administration در Access Rights (در پروفایل کاربر آنها) دارند مجاز به ورود به حالت Superuser هستند.

خطر

حالت Superuser امکان دور زدن قواعد رکورد و حقوق دسترسی را فراهم می‌کند، و بنابراین، باید با احتیاط شدید استفاده شود.

هنگام خروج از حالت Superuser، کاربران ممکن است به دلیل تغییراتی که انجام شده است از پایگاه داده قفل شوند. این می‌تواند باعث impotent admin شود، یا یک administrator بدون توانایی تغییر حقوق دسترسی/تنظیمات.

در این صورت با Odoo Support اینجا تماس بگیرید: new help ticket. تیم پشتیبانی می‌تواند با استفاده از یک login پشتیبانی دسترسی را بازیابی کند.

برای خروج از حالت Superuser، از حساب خارج شوید، با رفتن به گوشهٔ بالا سمت راست و کلیک روی نام کاربری OdooBot. سپس، گزینهٔ خروج را انتخاب کنید.

نکته

یک روش جایگزین برای فعال‌سازی حالت Superuser ورود به‌عنوان یک superuser است. برای انجام این کار، به صفحهٔ login بروید و ایمیل و گذرواژه مناسب را وارد کنید.

به‌جای کلیک روی ورود به سیستم، روی به عنوان کاربر ارشد وارد شوید کلیک کنید.