Folks, this is a very long posting because I think you need to understand my environment, to fully understand my question.
I am looking for advise, or references to ideas/software that might resolve or assist in resolving my issue(s).
I am new to DokuWiki, but I am a relativly experienced systems designer (have been programming since 1962 - but working in PHP and websites in a stateless environment can be a bit challenging at times!).
I have an existing website, whose conventional web pages were created with native HTML/CSS/PHP code. I wish to add several DokuWiki Farm/Animal Wikis that will be used primarily for internal documentation, on an internal group-by-group basis.
Only the FARM wiki would contain a few public viewable topics. Some planned topics in the FARM wiki probably should not be public viewable, if possible - but everything should be accessible by regestered members. I guess I could characterize the FARM as the Organization's main Bulletin Board.
The FARM wiki should be fully read/write accessible by website registered (and currently signed-in) members, but knowing human nature, I may need to have the ability to mark some registered users as "read-only" to the FARM wiki to (temporarily) prevent inappropriate postings.
Each Animal wiki's would be private to everyone, and only accessible to specific groups of individuals as determined by data from the WEBSITE's existing registration/sign-in database system. My users would select an item from an existing menu to gain access to the desired wiki.
My Question:
I need a way to AUTOMATICALLY login individuals into one or more individual (ANIMAL) wiki's. These folks would have already signed-into the website, and who have authorization in my database to access the requested (private) "team wiki". The individual users will have clicked on a menu item in an existing website screen to access a wiki when desired. I do not want them see the DokuWiki login screen during the "transfer". Are there any existing plugins (or a combination of plugins) that can accomplish this? or is there an API that I can use to supply a username/password as if they had visited the DokuWiki login=in screen?
If, however, somebody does try to directly access a wiki, and is NOT currently logged on, then I would like to have them see a login screen. Their attempt would probably fail, as the logon validation sent back to my database would probably not validate correctly, and so "hackers" would still not have access.
I am new to DokuWiki, and do not fully understand some of the plugin writeups, which appear to have been written in a strict "keep it simple" train of thought. I was probably expecting a more detailed form of writeups, and may have to resort to studying programming code.
From my viewpoint, the assumption for many of the authorizations plugins appears to be, to (1) use the DokuWiki's sign-in screen to gather information, and (2) the database validation can be done using either a DokuWiki internal Database or via an external Database. From an Admin point of view, I would prefer to use the existing Website registration system database(s), rather than to attempt to keep two separate database systems in sync..
It appears though, that for one specific authorization plugin (authhttp) it can validate a user based upon information provided --BY-- the webserver, using information gathered --by-- the SERVER when a HTTP directory validation was requested. While our website does have protected directories, we don't use the HTTP validation system for that purpose. (Too many different password/usernames combo's to track.) But if I read between the lines correctly, it would appear that DokuWiki does have some sort of "API" to allow logons to occur, and not necessarily from the DokuWiki sign-in screen.
It also appears to me, that many of the websites that use DokuWiki are primarily "DokuWiki only" sites, which, as you have probably figured out by now, is not the way my site was setup.
Possible Solution?
What I want is a way to issue a userid/password value to an API, and if the resulting authorization process passes, have the user see a "first page" (start) from the requested wiki, without having seen a "sign-in" page.
(I assume that data passed to the API would be via a "POST" request of some sort.)
Furthermore, I would assume, the DokuWiki software would then issue a database inquiry back to -MY- database to obtain "authorization" and to obtain the individuals fullname and a list of appropiate wiki group names. I also assume that the DokuWiki request for authorization would or could include a keyword that identifies which wiki is being accessed.
Is this possible?
Background
I am the "webmaster" for a volunteer group of radio enthusiasts who provide Emergency Radio Communications as a backup community service to the local Emergency Management Operations Center (EOC). Our website has been accessible since 2016, but did not provide for "members only" areas until recently, when I installed a self-written application to register recognized members and then allow them to sign-in.
In the interests of providing "functional continuity" for the organizations future, I have added several 3rd party applications, including DokuWiki, to the current website.
Most current members are "experts" in Radio Theory, Transmitters & Receivers, Antennas, Radio Propagation, and the like, mostly because Radio Communications (Amateur Radio (Ham Radio) or GMRS Radio) is their main hobby, and as expected, many do not like writing or creating documentation, and some, consider usernames and passwords to be a real PITA. (and I'm not referring to wheat-flour bread products!)
The newly installed registration/sign-in process is my design, and is written in PHP and MySQL. So it is easily expandable. Basically, the enhancements allow for the dynamic inclusion of "private" information (a word, sentence, paragraphs, full pages) or applications that --CAN BE-- restricted to a specified group or groups (teams) of individuals. A single individual can be associated with more than one "team".
Note: I am also the only member with a complete background in computer programming and application design. I have several partners "in training" - but they need access to the Websupport Team Wiki for information on procedures and "how does it work?" documentation...
Ideas, anyone?
===end===