به فناوری اطلاعات آویسان خوش آمدید
فناوری اطلاعات آویسانفناوری اطلاعات آویسانفناوری اطلاعات آویسان
09136543108
info@avsun.ir

سطح دسترسی اجرای ورک فلو در سی آر ام مایکروسافت

1. Realtime Workflow (Synchronous)

  • Realtime Workflow همیشه در Context همان کاربری اجرا می‌شود که عملیات را انجام داده است.

  • یعنی اگر کاربر “Ali” رکوردی ایجاد کند و Realtime Workflow روی آن Trigger شود:

    • Workflow با سطح دسترسی Ali اجرا خواهد شد.

    • هر اکشنی که Workflow انجام دهد (Create, Update, Assign, Send Email و …) باید توسط Ali مجاز باشد.

    • اگر Ali مجوز کافی نداشته باشد، Workflow خطا می‌دهد و عملیات اصلی (مثلاً Save) هم Rollback می‌شود.


2. Background Workflow (Asynchronous)

  • در این حالت، Workflow توسط Asynchronous Service اجرا می‌شود.

  • اما همچنان دو Context مطرح است:

    1. مالک (Owner) Workflow

    2. کاربر Trigger کننده (Created By / Modified By)

🔑 قانون اصلی:

  • Background Workflow در Context کاربری اجرا می‌شود که مالک آن Workflow است (Owner).

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

📌 مثال:

  • فرض کن Workflowی طراحی کردی که روی ایجاد Lead یک ایمیل ارسال کند.

  • کاربر “Sara” یک Lead ایجاد می‌کند → Workflow شروع می‌شود.

  • اگر Owner این Workflow “System Administrator” باشد:

    • ایمیل با دسترسی Admin ارسال می‌شود.

    • حتی اگر “Sara” مجوز ارسال ایمیل نداشته باشد، Workflow موفق خواهد بود.


🔹 تفاوت مهم

  • Realtime: محدود به دسترسی‌های کاربر اجراکننده (Trigger کننده).

  • Background: وابسته به دسترسی‌های مالک Workflow (Owner).


🔹 نکته امنیتی مهم

  • چون Background Workflow می‌تواند با دسترسی‌های بالاتر از کاربر اجرا شود، باید دقت زیادی در تعیین Owner آن داشت.

  • اگر همه Workflowها را با Owner “System Administrator” ذخیره کنید، در عمل هر کاربر عادی می‌تواند اکشن‌هایی انجام دهد که خودش مجوزش را ندارد (مثل تغییر Owner رکوردهای حساس).

  • بهترین Practice این است که:

    • Workflowهایی که قرار است با دسترسی بالا کار کنند، عمداً مالکشان Admin باشد.

    • Workflowهایی که باید محدود به دسترسی‌های کاربران باشند، بهتر است Realtime باشند یا با مالک غیرادمین تنظیم شوند.


جمع‌بندی:

  • Realtime Workflow → همیشه با دسترسی کاربر اجراکننده اجرا می‌شود.

  • Background Workflow → همیشه با دسترسی مالک Workflow اجرا می‌شود (اگر Admin باشد، در عمل Workflow با دسترسی Admin اجرا می‌شود).

پیام بگذارید

هیچ محصولی در سبد خرید نیست.

در خبرنامه سایت ما عضو شوید

برای دریافت آخرین اخبار ، به روزرسانی ها ، تبلیغات و پیشنهادات ویژه ای که مستقیماً به صندوق ورودی شما تحویل داده می شود ثبت نام کنید.
نه ممنون
X