Wij hebben een webbased applicatie (content management systeem) dat werkt met named users. Klanten kopen licenties op dat systeem per user. Je raadt het al, iedereen gebruikt gewoon de admin user en vindt 1 licentie wel genoeg.
Natuurlijk is dit afgedicht in de licentievoorwaarden, maar zolang het werkt malen ze daar niet naar, en wij hebben het nakijken. We willen dus voorkomen dat users gelijktijdig kunnen inloggen. Helaas is het een Clickonce applicatie die verbindt met webservices, die dus stateless is.
We kunnen dus wel sessies bijhouden, maar het kan gebeuren dat een gebruiker gewoon de applicatie op 1 werkstation hard afsluit (waardoor de server de sessie nog even openhoudt). Klakkeloos een user toegang weigeren omdat de sessie nog bestaat is dus niet zo netjes - zeker niet als de user daarvoor net uit de applicatie is gegooid na een crash/programmeerfout van onszelf
.
Andere optie zou zijn indien een tweede sessie wordt gemaakt, gewoon de eerste verwijderen. Dat levert dan weer schoonheidsproblemen, de client moet dan ineens rekening houden met het feit dat serverside ineens de sessie wordt gekilled.
Kortom, we willen met zachte hand klanten opvoeden dat ze voor elke gebruiker moeten betalen, zonder dat daarmee "valide" gebruik lastig wordt gemaakt.
Dan hebben we ook nogklanten die zeggen, ja nee, we hebben maar 1 licentie nodig, want er zal toch nooit twee gebruikers gelijktijdig van het systeem gebruikmaken. Zouden we dan echt naar seat-licenses moeten gaan? Dat lijkt me nog veel irritanter bij te houden....
Iemand suggesties?
Natuurlijk is dit afgedicht in de licentievoorwaarden, maar zolang het werkt malen ze daar niet naar, en wij hebben het nakijken. We willen dus voorkomen dat users gelijktijdig kunnen inloggen. Helaas is het een Clickonce applicatie die verbindt met webservices, die dus stateless is.
We kunnen dus wel sessies bijhouden, maar het kan gebeuren dat een gebruiker gewoon de applicatie op 1 werkstation hard afsluit (waardoor de server de sessie nog even openhoudt). Klakkeloos een user toegang weigeren omdat de sessie nog bestaat is dus niet zo netjes - zeker niet als de user daarvoor net uit de applicatie is gegooid na een crash/programmeerfout van onszelf
Andere optie zou zijn indien een tweede sessie wordt gemaakt, gewoon de eerste verwijderen. Dat levert dan weer schoonheidsproblemen, de client moet dan ineens rekening houden met het feit dat serverside ineens de sessie wordt gekilled.
Kortom, we willen met zachte hand klanten opvoeden dat ze voor elke gebruiker moeten betalen, zonder dat daarmee "valide" gebruik lastig wordt gemaakt.
Dan hebben we ook nogklanten die zeggen, ja nee, we hebben maar 1 licentie nodig, want er zal toch nooit twee gebruikers gelijktijdig van het systeem gebruikmaken. Zouden we dan echt naar seat-licenses moeten gaan? Dat lijkt me nog veel irritanter bij te houden....
Iemand suggesties?
Nederlands is makkelijker als je denkt