11-05-1394، 02:22 ب.ظ
11-05-1394، 03:22 ب.ظ
علت استفاده از اون فیلد رو توضیح دادم توی همون فیلمها. برای اینکه رمز کاربر بطور خودکار هش بشه و نخوایم خودمون دستی هش کنیم، توی رویداد beforeSave گفتیم اگه خطای Validation رخ نداد، پسورد رو هش کن. اما با این کار، فرضاً اگه کاربر فقط نام کاربری رو تغییر بده و رمز رو تغییر نده، رمز قبلی دوباره هش میشه. برای جلوگیری از این مشکل، یه فیلد به اسم oldPass_ تعریف کردیم و توی رویداد afterFind که بعد از پیدا کردن مدل با متدهای find و findAll و... اتفاق میفته، رمز قبلی رو توی این فیلد ذخیره میکنیم. توی رویداد beforeSave هم گفتیم فقط اگه رمز جدید با رمز قبلی فرق کرده، رمز جدید رو هش کنه.