#1 2013-05-18 08:06:56

DigDiver
Member
Registered: 2013-04-29
Posts: 137

User authentication at global (external) level

At this time while adding (modifying) TSQLAuthUser in WorkplaceGlobalServer I add (modify)TSQLAuthUser in all WorkplaceXX_Server, which is not convenient. Is there a way to put TSQLAuthUser to the higher (global) level so when you try to query the Workplace1_Server the user authentication is done at the WorkplaceGlobalServer level?


WorkplaceGlobalServer___
                                  |__ TSQLAuthGroup
                                  |__ TSQLAuthUser    {user info changed} -> need to change all TSQLAuthUser in Workplace1_Server, Workplace2_Server ...}
                                  |__ WorkplaceNames_ 
                                                               |__ Workplace1_Server
                                                               |       |____TSQLAuthGroup
                                                               |       |____TSQLAuthUser
                                                               |       |____TMyModel1
                                                               |       |____TMyModel2
                                                               |__ Workplace2_Server
                                                               |       |____TSQLAuthGroup
                                                               |       |____TSQLAuthUser
                                                               |       |____TMyModel1
                                                               |       |____TMyModel2
                                                               |__ WorkPlace3_Server
                                                                       |____TSQLAuthGroup
                                                                       |____TSQLAuthUser
                                                                       |____TMyModel1
                                                                       |____TMyModel2

Offline

#2 2013-05-21 06:08:57

ab
Administrator
From: France
Registered: 2010-06-21
Posts: 14,660
Website

Re: User authentication at global (external) level

Thanks for a very clear question.
And sorry for the delay in our answer.
smile

Why not just use an external shared database to refer to the users and groups?

Otherwise, feel free to create a feature request at http://synopse.info/fossil/reportlist (after anonymous login).
A dedicated TSQLVirtualTableRemote kind of virtual table may be worth implementing, similar to TSQLRestServerRemoteDB but for only one table. The virtual table may be defined just by giving the remote TSQLRecord class names, and a TSQLRestClient instance.
Please put a link to this forum thread, for reference and discussion.

What is great with virtual tables is that the SQLite3 core will be able to make a JOINed query on them, just as if they were "internal" tables.
And for most queries (like authentication queries), it will use a direct call of TSQLRestClient.

Note that the current cache is implemented only per ID.
That is, caching will work for the TSQLAuthGroup request, but the per name request made during authentication for TSQLAuthUser won't be cached.
Perhaps another axis of improvement, if the TSQLRestClient is accessing its main sever over a slow network.

Online

#3 2013-05-21 06:45:55

DigDiver
Member
Registered: 2013-04-29
Posts: 137

Re: User authentication at global (external) level

Thanks for the answer. I will try to use external shared database.

Offline

Board footer

Powered by FluxBB