The situation is: Datasnap client connecting to Datasnap server with his credentials. Authentication procedure starts with server makes a request to remote database which holds users credentials. If credentials matches - all good, authentication is done. But what if remote database is unavailable at this moment? How can i push to client something like "Server is not available at the moment, try again later" while authenticating? Or second case: the user is blocked (to realize this we need to access database too) and i want to tell him a reason why he can't access to service? I was googling this issue, but i still don't understand the right way to do it.
Any tip can be helpful, thanks in advance and have a nice day!
The
DSAuthenticationManager.OnUserAuthenticateevent can only returnTrueorFalse, and if it returnsFalse, the exception that is raised at the client is predetermined.One solution to this is to have your
OnUserAuthenticatealways return aTruevalue, then in your client, call a servermethod of your own design, that returns a message that you have coded as appropriate for the situation it found. I return my message as avarparameter to the servermethod.