Is there any method besides using a DB with username and password for authenticating a user?
Depending on how users access the site, you might be able to authenticate simply by their IP address.
But if you need to differentiate between multiple users then these need to be stored somewhere, and regardless of the method used, this is a "database".
Oh boy are there! OAuth (Facebook, Google, Twitter), SAML, LDAP, PAM, HTTP Basic, HTTP Client Certificate, IP restriction, 2-Factor authentication, RSA token, biometrics.
You could try using some eternal authentication like OAuth http://oauth.net/ or Facebook Login https://developers.facebook.com/docs/facebook-login/login-flow-for-web/v2.1
I believe OAuth still requires SQL usage though.