The normal way for doing this (in enterprises) is automount. It may be a bit complicated for a home environment though. There should be several tutorials on the web.
Automount in general unmounts unused filesystems after some period of idleness, so it would satisfy the unmount criterion as well.
BTW: automount wouldn't mount at login per se, just when the home directory is accessed. This should be equivalent for your use (always available when the user logs in). But realize, say, if there's a cronjob that accesses the users home dir it would be mounted as well. This should be a good thing, but is different from what you asked for.