Users / Auth / Security

بررسی جامع جدولهای زیر:


operators

جدول کاربران و اپراتورها

مقدمه

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

ساختار جدول

ستون نوع داده مشخصات
id INT UNSIGNED کلید اصلی، غیرقابل تهی
branch LONGTEXT شناسه دفتر
type INT نوع کاربر، پیش‌فرض ۱
personnel_id INT شناسه پرسنلی، قابل تهی
shift_work INT UNSIGNED وضعیت شیفت کاری، قابل تهی
sex ENUM('male','female') جنسیت، قابل تهی
marital_status ENUM('married','single','divorced') وضعیت تأهل، غیرقابل تهی
first_name VARCHAR(255) نام، قابل تهی
last_name VARCHAR(255) نام خانوادگی، قابل تهی
first_name_en VARCHAR(255) نام انگلیسی، قابل تهی
last_name_en VARCHAR(255) نام خانوادگی انگلیسی، قابل تهی
nick_name VARCHAR(255) نام مستعار، قابل تهی
birth DATETIME تاریخ تولد، قابل تهی
group ENUM('staff','manager','developer','accounting') گروه یا نقش سازمانی، پیش‌فرض staff
position VARCHAR(255) سمت شغلی، قابل تهی
phone CHAR(15) شماره تلفن، قابل تهی
phone1 CHAR(15) شماره تلفن جایگزین، قابل تهی
mobile CHAR(15) شماره موبایل، قابل تهی
mobile1 CHAR(15) شماره موبایل جایگزین، قابل تهی
email VARCHAR(255) آدرس ایمیل، قابل تهی
telegram VARCHAR(255) شناسه تلگرام، قابل تهی
status INT وضعیت کاربر، غیرقابل تهی
ip VARCHAR(45) آخرین آی‌پی ثبت‌شده، قابل تهی
avatar VARCHAR(255) تصویر پروفایل، قابل تهی
access LONGTEXT سطوح دسترسی، قابل تهی
password VARCHAR(255) رمز عبور هش‌شده، قابل تهی
imprest ENUM('yes') وضعیت تنخواه، قابل تهی
no_feedback INT غیرفعال‌سازی بازخورد، قابل تهی
otp INT کد یک‌بارمصرف، قابل تهی
otp_issuing DATETIME زمان صدور کد یک‌بارمصرف، قابل تهی
blocked_up DATETIME زمان مسدودشدن حساب، قابل تهی
token VARCHAR(255) توکن دسترسی، قابل تهی
employment_at DATETIME تاریخ استخدام، قابل تهی
created_at TIMESTAMP زمان ایجاد رکورد، قابل تهی
updated_at TIMESTAMP زمان آخرین ویرایش، قابل تهی

جمع‌بندی

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

مستند ساختار پایگاه داده – بخش کاربران و دسترسی‌ها

colleagues

جدول همکاران و شرکت‌ها

مقدمه

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

ساختار جدول

ستون نوع داده مشخصات
id BIGINT UNSIGNED کلید اصلی، غیرقابل تهی
serial BIGINT شماره سریال همکار، غیرقابل تهی
branch SMALLINT UNSIGNED شناسه دفتر 
foundation INT سال تأسیس، پیش‌فرض ۱
office VARCHAR(255) نام دفتر یا شرکت به فارسی، قابل تهی
office_en VARCHAR(255) نام دفتر یا شرکت به انگلیسی، قابل تهی
category INT دسته‌بندی همکار، پیش‌فرض ۱
type INT   نوع حسابداری همکار گرفته شده از accounting title table
type_checkout INT  گرفته شده از accounting title table نوع تسویه حساب، قابل تهی
relationship BIGINT در صورت زیرمجموعه بودن شرکت، سریال شرکت اصلی در این فیلد ثبت می‌شود
first_name VARCHAR(255) نام، قابل تهی
last_name VARCHAR(255) نام خانوادگی، قابل تهی
position VARCHAR(255) سمت یا عنوان شغلی، قابل تهی
phone VARCHAR(255) شماره تلفن، قابل تهی
mobile VARCHAR(255) شماره موبایل، قابل تهی
email VARCHAR(255) آدرس ایمیل، قابل تهی
site VARCHAR(255) وب‌سایت، قابل تهی
country INT کشور (ارجاع به جدول کشورها)، قابل تهی
state INT استان (ارجاع به جدول استان‌ها)، قابل تهی
city INT شهر (ارجاع به جدول شهرها)، قابل تهی
address VARCHAR(255) نشانی کامل، قابل تهی
credit_amount VARCHAR(255) سقف اعتبار مالی، قابل تهی
checkout_deadline INT مهلت تسویه حساب، قابل تهی
wage INT در صورت کارمزدی بودن همکاری، درصد کارمزد در این فیلد ثبت می‌شود
description LONGTEXT توضیحات تکمیلی، قابل تهی
logo VARCHAR(255) لوگوی شرکت، قابل تهی
priority INT اولویت، پیش‌فرض ۰
last_balance BIGINT آخرین مانده حساب، قابل تهی
last_balance_at DATETIME زمان ثبت آخرین مانده، پیش‌فرض CURRENT_TIMESTAMP
status INT وضعیت فعال‌بودن، پیش‌فرض ۱
created_at TIMESTAMP زمان ایجاد رکورد، قابل تهی
updated_at TIMESTAMP زمان آخرین ویرایش، قابل تهی

جمع‌بندی

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

مستند ساختار پایگاه داده – بخش همکاران و حساب‌های تجاری

colleague_auth

جدول احراز هویت همکاران

مقدمه

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

ساختار جدول

ستون نوع داده توضیحات
id BIGINT کلید اصلی جدول، افزایش خودکار
branch SMALLINT UNSIGNED شناسه دفتر
colleague BIGINT UNSIGNED ارجاع به شناسه همکار در جدول colleagues
category ENUM نوع دسترسی کاربر همکار: management / staff / financial
level INT سطح دسترسی عددی، پیش‌فرض ۵
username VARCHAR(255) نام کاربری برای ورود به سامانه
password VARCHAR(255) رمز عبور هش‌شده کاربر
ceiling BIGINT سقف اعتبار مالی مجاز برای کاربر، در صورت تعریف محدودیت
deadline_month INT مهلت تسویه حساب بر حسب ماه، در صورت نیاز
mobile VARCHAR(13) شماره موبایل اصلی کاربر
mobile_support VARCHAR(13) شماره موبایل پشتیبان
status INT وضعیت فعال‌بودن حساب، پیش‌فرض ۱
expired_at DATE تاریخ انقضای دسترسی، در صورت محدود بودن
created_at DATETIME زمان ایجاد حساب کاربری
updated_at DATETIME زمان آخرین ویرایش اطلاعات حساب

جمع‌بندی

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

مستند ساختار پایگاه داده – احراز هویت کاربران همکار

colleague_additional

جدول اطلاعات تکمیلی همکاران

مقدمه

این جدول برای نگهداری اطلاعات ثبتی، حقوقی و نشانی رسمی همکاران حقوقی (شرکت‌ها و سازمان‌ها) طراحی شده است. داده‌های این جدول معمولاً در فرآیندهای مالی، حقوقی، فاکتورینگ و تطبیق اسناد رسمی مورد استفاده قرار می‌گیرند.

ساختار جدول

ستون نوع داده توضیحات
id BIGINT کلید اصلی جدول، افزایش خودکار
colleague BIGINT UNSIGNED ارجاع به شناسه همکار در جدول colleagues
registered_name VARCHAR(255) نام ثبتی رسمی شرکت یا شخص حقوقی
national_id VARCHAR(255) شناسه ملی
registration_id VARCHAR(255) شماره ثبت شرکت
economic_code VARCHAR(255) کد اقتصادی
phone VARCHAR(255) شماره تلفن ثابت رسمی
postal_code VARCHAR(255) کد پستی محل ثبت‌شده
country BIGINT کشور ثبت شرکت (ارجاع به جدول کشورها)
state BIGINT استان (ارجاع به جدول استان‌ها)
city BIGINT شهر (ارجاع به جدول شهرها)
address LONGTEXT نشانی کامل و رسمی ثبت‌شده

جمع‌بندی

جدول colleague_additional لایه اطلاعات حقوقی و ثبتی همکاران را تکمیل می‌کند و در کنار جدول colleagues یک نمای کامل از وضعیت تجاری، حقوقی و مکاتبات رسمی طرف‌های همکاری سامانه ایجاد می‌نماید.

مستند ساختار پایگاه داده – اطلاعات تکمیلی همکاران

customers

جدول اطلاعات مسافران و مشتریان

مقدمه

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

ساختار جدول

ستون نوع داده توضیحات
id BIGINT UNSIGNED شناسه اصلی رکورد، افزایش خودکار
branch LONGTEXT شعبه دفتر متصل به آفیس
type INT نوع کاربر در بخش حسابداری (۱: شخص، ۲: شرکت)
type_checkout INT نوع تسویه در ماژول مالی، پیش‌فرض ۱
sex ENUM('male','female') جنسیت: مرد یا زن
first_name VARCHAR(255) نام
first_name_fa VARCHAR(255) نام به‌صورت فارسی
last_name VARCHAR(255) نام خانوادگی
last_name_fa VARCHAR(255) نام خانوادگی فارسی
father_name VARCHAR(255) نام پدر
office VARCHAR(255) محل کار یا سازمان مربوط
phone CHAR(15) شماره تلفن ثابت
mobile CHAR(15) شماره تلفن همراه
email VARCHAR(255) نشانی پست الکترونیکی
national_code VARCHAR(255) کد ملی
national_img VARCHAR(255) تصویر کارت ملی
passport_code VARCHAR(255) شماره گذرنامه
passport_img VARCHAR(255) تصویر گذرنامه
passport_expire VARCHAR(255) تاریخ انقضای گذرنامه
birth VARCHAR(255) تاریخ تولد
marriage VARCHAR(255) وضعیت تأهل
citizenship INT تابعیت یا ملیت
country INT ارجاع به شناسه کشور
state INT ارجاع به شناسه استان
city INT ارجاع به شناسه شهر
relationship INT نوع ارتباط با سایر مشتریان
address VARCHAR(255) نشانی محل سکونت یا شرکت
personnel_id INT شناسه کاربر ثبت‌کننده
description LONGTEXT توضیحات تکمیلی درباره کاربر
identity_check INT وضعیت بررسی مدارک هویتی
identity_data LONGTEXT اطلاعات ذخیره‌شده از مدارک هویتی
status INT وضعیت فعال‌بودن، پیش‌فرض ۱
created_at TIMESTAMP زمان ثبت اولیه
updated_at TIMESTAMP زمان آخرین ویرایش

نتیجه‌گیری

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

مستند ساختار پایگاه داده – اطلاعات مسافران و مشترکان

authenticator_api

جدول رابط احراز هویت سامانه

مقدمه

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

ساختار جدول

ستون نوع داده توضیحات
id INT شناسه اصلی جدول، افزایش خودکار
branch INT ارجاع به شناسه شعبه مربوط
colleague INT ارجاع به شناسه همکار
token LONGTEXT توکن دسترسی ایجاد‌شده برای ارتباطات داخلی
charter INT شناسه بخش پرواز یا چارتر
hub INT شناسه مرکز داده یا هاب ارتباطی
accommodation INT ارجاع به بخش اقامت
service INT ارجاع به بخش خدمات
status INT وضعیت فعال‌بودن توکن، پیش‌فرض ۱
expier_at DATETIME تاریخ و زمان انقضای توکن دسترسی
created_at DATETIME زمان ایجاد رکورد (پیش‌فرض: CURRENT_TIMESTAMP)
updated_at DATETIME آخرین زمان ویرایش رکورد

نتیجه‌گیری

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

مستند پایگاه داده – جدول رابط احراز هویت سامانه

authenticator_trust

جدول اعتماد و اعتبار سنجی دسترسی

مقدمه

این جدول برای ذخیره سیاست‌های اعتماد (Trust Policies) در سطح سیستم طراحی شده است. این سیاست‌ها مشخص می‌کنند که چه منابعی (بر اساس IP یا دامنه‌) و با چه نوع هویتی (شعبه یا API) اجازه دسترسی به یک شناسه هدف (Target ID) را دارند. این مکانیسم، امنیت دسترسی‌های بین ماژولی یا از منابع خارجی را تقویت می‌کند.

ساختار جدول

ستون نوع داده مقادیر مجاز (ENUM) توضیحات
id BIGINT -- شناسه اصلی رکورد، افزایش خودکار
type ENUM('branch', 'api') branch, api تعیین‌کننده ماهیت منبع اعتمادکننده (شعبه یا API)
target INT -- شناسه هدفی که دسترسی برای آن تعریف می‌شود. (نامشخص است که به کدام جدول ارجاع دارد)
object_type ENUM('ip', 'domain') ip, domain مشخص می‌کند که منبع دسترسی بر اساس آدرس IP است یا نام دامنه
object VARCHAR(255) -- مقدار واقعی منبع (آدرس IP یا دامنه)
status INT -- وضعیت فعال یا غیرفعال‌بودن قانون دسترسی، پیش‌فرض ۱
created_at DATETIME -- زمان ثبت اولیه (پیش‌فرض: CURRENT_TIMESTAMP)

نتیجه‌گیری

جدول اعتماد، لایه امنیتی مشخصی را فراهم می‌آورد که فراتر از احراز هویت سنتی (که در جدول پیشین بررسی شد)، کنترل دسترسی مبتنی بر منابع (Source-based Access Control) را پیاده‌سازی می‌کند. این جدول به‌طور مؤثری ارتباطات امن بین بخش‌های مختلف سیستم (مانند شعب و سرویس‌های API) را مدیریت می‌کند.

مستند پایگاه داده – جدول اعتماد و اعتبار سنجی دسترسی

otp_requests

جدول درخواست‌های رمز یکبار مصرف

مقدمه

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

ساختار جدول

ستون نوع داده توضیحات
id BIGINT UNSIGNED شناسه اصلی رکورد، افزایش خودکار
type ENUM('sms','telegram') روش ارسال رمز یکبار مصرف
object_type ENUM('passenger','operator','colleague') نوع موجودیتی که رمز برای آن صادر شده است
object BIGINT UNSIGNED شناسه موجودیت دریافت‌کننده رمز
otp_code VARCHAR(6) کد رمز یکبار مصرف صادر‌شده
issued_at DATETIME زمان صدور رمز
expires_at DATETIME زمان پایان اعتبار رمز
is_used TINYINT(1) وضعیت استفاده شدن رمز، پیش‌فرض ۰
request_count INT تعداد دفعات درخواست رمز، پیش‌فرض ۱
created_at TIMESTAMP زمان ثبت رکورد
updated_at TIMESTAMP زمان آخرین به‌روزرسانی رکورد

نتیجه‌گیری

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