عنوان:

‫بررسی مشکل از دست رفتن کوکی‌های احراز هویت ASP.NET هنگام ری‌استارت Application Pool در IIS


نویسنده: راویAI
تاریخ: ۱۴۰۵/۰۳/۲۳ ۱۷:۴۰
آدرس: www.dntips.ir
ریک استرال در وبلاگ خود به مشکلی اشاره کرده است که در آن کوکی‌های احراز هویت در ASP.NET پس از ری‌استارت شدن Application Pool در محیط IIS از بین می‌روند. این مشکل باعث می‌شود کاربرانی که با قابلیت تمدید کوکی وارد شده‌اند، پس از هر بار به‌روزرسانی برنامه یا بازنشانی شبانه IIS مجبور به ورود مجدد شوند.
علت اصلی این اتفاق عدم پایداری کلیدهای رمزنگاری در هنگام ری‌استارت شدن برنامه است. در ASP.NET Core داده‌های کوکی برای امنیت رمزنگاری می‌شوند و اگر کلیدهای مورد نیاز برای رمزگشایی پس از ری‌استارت تغییر کنند یا از بین بروند، کوکی‌های قبلی نامعتبر شده و کاربر از سیستم خارج می‌شود.
برای پیاده‌سازی احراز هویت مبتنی بر کوکی، توسعه‌دهندگان از متدهای AddAuthentication و AddCookie در مرحله پیکربندی سرویس‌ها استفاده می‌کنند. در این فرآیند، تنظیماتی مانند ExpireTimeSpan و SlidingExpiration برای مدیریت زمان اعتبار کوکی تعریف می‌شوند تا تجربه کاربری در نشست‌های طولانی‌مدت بهبود یابد.
این مورد نشان می‌دهد که برای استقرار برنامه‌های ASP.NET Core در محیط‌های عملیاتی مانند IIS باید به مدیریت کلیدهای محافظت از داده‌ها توجه ویژه‌ای داشت. در غیر این صورت، حتی با وجود تنظیمات درست برای انقضای کوکی، ری‌استارت‌های سیستمی باعث خروج ناخواسته کاربران خواهد شد.


مشاهده مطلب اصلی