La autenticación a través de usuario y contraseña es uno de los métodos más empleados, y en ambientes web aun más. Deberías tener en cuenta par de aspectos:
- Haz tu web segura, como mínimo el formulario de "login" y proceso de autenticación accesibles por HTTPS, yo diría más: tu aplicación accesible solo por HTTPS.
- Valida tanto del lado del cliente como del servidor los datos introducidos por el usuario.
- Realiza un comprobación contra ataques de tipo CSRF.
- Como te explica petit89, establece una política de contraseñas seguras para tu sistema.
- Evita la inyección SQL.
De dónde provengan los usuarios, no interesa; en un ambiente empresarial pudiera ser que tu aplicación esté integrada a un Directorio Activo de Windows o similar, almacenados en la misma base de datos de tu aplicación o accesibles a través de un servicio web o REST API, pero siempre el procedimiento es el mismo: validación, identificación y autenticación !!!!