Although a great plugin, sfGuard lacks the useful ability to expire a user account, available on most authentication systems. Although sfGuard could obviously be extended to provide this functionality using sfGuardUserProfile, the sfGuardUserProfile table does not seem the correct place to store this data, as the value would need to be checked *every* time a user logs in. If it is stored in the profile, then two tables must be queried compared with just one if it were stored in the sfGuardUser table.
When a user's user/pw credentials match, the user should only be authenticated if the current date is not greater than the account expiry date.