Yes you can. All you have to do is override GetResolvedConnectString in your corresponding OSS code, and just attach the password to the ConnectInfo string.
Another option would be to have some sort of object that carries data between levels, for example a LocalPlayer subsystem, and inside PreLogin you pull the data from your subsystem and check against the database if it’s correct. More info on how to persist data can be found here.