I've been using AuthLogic (https://github.com/binarylogic/authlogic) for a long time now and appreciate how it does what I need from the beginning but also grows with the application. There was a period where the author was not working on it but now he has committed to continue developing it.