Las preguntas no molestan.
Será básico, pero es crítico.
Los permisos son lo que define lo que un usuario puede o no hacer, y en ese sentido la autenticación contra la base de datos es una de las formas más seguras de administrar usuarios en una aplicación. De esa forma, si el usuario no se autentica, tienes simplemente un parámetro de rechazo, en lugar de tener que hacer toda una rutina de validaciones.
Lo que conviene hacer muchas veces es definir perfiles de usuarios, los que puedes administrar en una tabla propia o no, y con ellos determinar qué puede hacer ese usuario y qué no en la aplicación. Como eso solo lo podrás leer si el usuario se logueo exitosamente en la base, el rechazar un usuario es un paso simple: Falla la creación de sesión y listo, ya lo puedes echar. Y si autentica, entonces lo primero que haces es leer el perfil y habilitarle las tareas para las que está autorizado. Pero en cualquier caso, jamás podrá hacer ninguna para lo que su username no esté habilitado.
Por eso los usuarios genéricos se deben usar de forma muy limitada.