“My browser lost its cookies” has long been one of the most longstanding Support complaints in the history of browsers. Unfortunately, the reason that it has been such a longstanding issue is that it’s not the result of a single problem, and if the problem is intermittent (as it often is), troubleshooting the root cause may be non-trivial.
زمانی که برای احراز هویت از ASP.NET Identity استفاده میکنید، ممکن است برای شما هم پیش آمده باشد که اگر در یکی از سایتهای خود لاگین کرده باشید و سایتی دیگر را که از ASP.NET Identity استفاده میکند، باز کنید بدون اینکه لازم باشد دوباره لاگین کنید، با همان نام کاربری سایت اول در سایت دوم هم وارد شده اید (بر روی یک دومین یا هاست شدهی در یک سیستم). برای نمونه میتوانید دو برنامه asp.net mvc ایجاد کنید، سپس یکی را اجرا کنید و پس از ثبت نام در آن و لاگین کردن، برنامه دوم را اجرا کنید، احتمالا مشاهده میکنید که به صورت خودکار وارد شدهاید.
دلیل و راه حل آن ساده است، AspNet.ApplicationCookie در هر دوسایت هم نام است، آن را تغییر دهید:
public partial class Startup { // For more information on configuring authentication, please visit http://go.microsoft.com/fwlink/?LinkId=301864 public void ConfigureAuth(IAppBuilder app) { // Enable the application to use a cookie to store information for the signed in user app.UseCookieAuthentication(new CookieAuthenticationOptions { AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie, LoginPath = new PathString("/Account/Login"), CookieName = "MyCookieName", }); } }