One thing that seems to be lacking in some documentation is to create the samba user.
This is here because there is lots of instructions on how to setup the samba configuration /etc/samba/smb.conf and I dont need to duplicate that here. This is helpful when your configuration is setup and you can connect but your username/password is being rejected...and your sure that the username and password your using is correct.
Even though you have the configuration set to communicate with the Samba server, if your user cannot log in, it is because you never gave samba the user information.
The following is for creating a new user, you can skip if you already have a linux user on the system.
$ useradd ralbin
$ passwd ralbiin
This is how the linux user gets associated to the samba configuration
$ smbpasswd -a ralbin
Now when you try to connect things should work because that last line smbpasswd takes an existing user ( ralbin ) that we just created, and assigns it to samba as a viable user
You can use existing users too you do not have to create a new user to make this work