is server “conn” used in your solution by form/relation/valuelist?
It isn’t, just in code. That is why when I export I selected “export all tables from referenced servers”
is server “conn” used in your solution by form/relation/valuelist?
It isn’t, just in code. That is why when I export I selected “export all tables from referenced servers”
yes, again, is the “conn” server used? because the export says “all tables of REFERENCED servers”
So only if a server is used somewhere in the solution that servoy knows about, then all tables of that server is exported.
If the server is really not used anywhere then even when selecting that will not export the server and the tables, it is not “export all servers”
Yep, again, It is referenced in code. Its the login solution and when the user clics “log in” it uses the “conn” server to check the credentials. Also, the form’s datasource is a table on that server. Should something else be done in order for Servoy to “know” about it?
If the forms datasource references the conn server then it should be fine, then when you export it it should export also that server (and table if also the table is references by the datasource or if you have checked all tables of referenced servers)
So if both of that is the case then i don’t know what goes wrong at your place, you do get the exact same error? The table is not created at the server when you import it?
edit: By the way, are we talking about the login or authenticator solution? Authenticator only lives at the server not client.
jd2p:
Yep, again, It is referenced in code. Its the login solution and when the user clics “log in” it uses the “conn” server to check the credentials. Also, the form’s datasource is a table on that server. Should something else be done in order for Servoy to “know” about it?
HOW is it referenced in code?
are you trying to touch tables in the login solution? if that’s the case that will not work, you can only call a method of the authenticator and than in the authenticator you can query tables.
If you ARE using the authenticator solution, than just try this:
Just create a dummy form, with that table as datasource, in your main-solution,
export that one, and import it on the server, and try again!
Harjo:
HOW is it referenced in code? are you trying to touch tables in the login solution?
Actually, I AM trying to touch tables in the login solution. After calling security.authenticate and obtaining True, I’m doing some additional validations from the login solution.
Now, I no longer have this problem, I got it fixed by removing the dataSource setting for the loginForm and then adding it back again. However, now I’m having other issues only when running from Servoy Client and you got me wondering if this is related. Im sorry if I have missed it, but is it documented anywhere that we shouldn’t run any queries in the loginSolution?
Thanks a lot,
JD
http://wiki.servoy.com/display/Serv52/U … d+Security
for example under “new setup” section
“The login solution should contain only the user interface to present the user with a credentials form (typically username/password).”
in other words only that and no database data because the values are used to only call
"When the user enters its credentials, the login solution will submit these to a authenticator solution (which is running inside the Servoy Application Server). "
Thanks Johan.
Our login solution asks for the credentials and submits them to the authenticator solution like it says there. The only difference is, afterwards we do other verifications (not the credential authentication, thats done in the authenticator). So, may I suggest adding something more explicit like “if you try to connect to the database from the login solution, it WILL fail and then a bearshark will eat you”.
edit:
Nevermind, I just read here http://wiki.servoy.com/display/Serv52/Upgrade+existing+implementations+to+Servoy+5.2's+Enhanced+Security it says:
Direct access to data from any Database Server is restricted, which means for example that Forms cannot be based on datasources.
The function databaseManager.getDataSetByQuery() does not work.
It doesn’t mention getFoundset though.
Regards,
JD
what are you exactly calling right after you login? getFoundset() ? or getDataSetByQuery() ?
getFoundset could fail because the login solution doesn’t have any server definition attached to it (that can’t happen, because a login solution shouldn’t really load or touch any foundsets)
I WAS calling getFoundset from frmLogin. I changed that and that solved the other issue. Thanks.