vBulletin and eZ Publish Single sign-on

Author Message

Axel Wehner

Monday 12 October 2009 7:03:27 am

Hello,

i'm planning a connection of the user management between vBulletin (a community system) and eZ Publish.

The Goal is that a registered User of vBulletin get access to a restricted section in eZ Publish. The User shouldn't have to register or login in eZ Publish directly because the vBulletin user management is absolutely a great thing. I could create a synchronisation script which keep the database user-tables between both Systems updated; but how to handle the login in both systems?

I read in this forum that this (or something similar) has been often done before, but I didn't find any examples for doing it (LoginHandler or SSOHandler?). Could someone give me a hint what's the most efficient approach to do that?

A small illustration of my first thoughts: http://ecantus.de/misc/sso.gif

Thank you!

Best regards,
Axel

Piotrek Karaƛ

Monday 12 October 2009 8:43:53 am

Hello Ahel,

We've recently done a similar thing, but for another piece of software - IP.Board - and in reverse direction - eZ Publish being the king of the installation, serving as an single sign on solution. For several reasons that architecture fit our needs better. In any way, we created an eZ Publish login handler and couple of hacks for registration/activation routines, and we call IP.Board API directly from eZ Publish (which by the way seems heavens better than vBulletin's, but that's just our opinion). This way the API does everything as it should be done (basically setting up the session for the forum software without having to access it or login into it right away), and also it has been planned for external integrations so there's this workflow which causes to create a fully functional forum user the moment he first accesses the forum application.

The rationale behind the chosen solution was:
- Only needed one siteaccess to one forum arrangements, no multiple languages (in our solution they have to share the domain, with forum being a subdirectory of eZ installation),
- We aimed at forums working around content rather than content being added to the forum,
- We have much more expertise with eZ Publish and therefore have more control over the integration than we would have trying to have forum application as a central part.

Of course a more flexible approach could be to for example use openID, which is by default supported in IP.Board and there are some extensions for that for eZ Publish, if you go though the projects section.

Hope this helps to boost a discussion around this interesting topic.

Cheers,
Piotrek

--
Company: mediaSELF Sp. z o.o., http://www.mediaself.pl
eZ references: http://ez.no/partners/worldwide_partners/mediaself
eZ certified developer: http://ez.no/certification/verify/272585
eZ blog: http://ez.ryba.eu

Powered by eZ Publish™ CMS Open Source Web Content Management. Copyright © 1999-2014 eZ Systems AS (except where otherwise noted). All rights reserved.

eZ debug

Timing: Jan 18 2025 11:23:11
Script start
Timing: Jan 18 2025 11:23:11
Module start 'layout'
Timing: Jan 18 2025 11:23:11
Module start 'content'
Timing: Jan 18 2025 11:23:12
Module end 'content'
Timing: Jan 18 2025 11:23:12
Script end

Main resources:

Total runtime1.0369 sec
Peak memory usage4,096.0000 KB
Database Queries54

Timing points:

CheckpointStart (sec)Duration (sec)Memory at start (KB)Memory used (KB)
Script start 0.00000.0095 588.0313152.6406
Module start 'layout' 0.00950.0038 740.671939.4766
Module start 'content' 0.01331.0218 780.1484534.8516
Module end 'content' 1.03520.0017 1,315.000012.1406
Script end 1.0369  1,327.1406 

Time accumulators:

 Accumulator Duration (sec) Duration (%) Count Average (sec)
Ini load
Load cache0.00390.3766160.0002
Check MTime0.00170.1630160.0001
Mysql Total
Database connection0.00110.107210.0011
Mysqli_queries0.982694.7673540.0182
Looping result0.00070.0687520.0000
Template Total0.998596.320.4993
Template load0.00280.266520.0014
Template processing0.995796.030220.4979
Template load and register function0.00010.008510.0001
states
state_id_array0.00100.096510.0010
state_identifier_array0.00150.140420.0007
Override
Cache load0.00240.2272240.0001
Sytem overhead
Fetch class attribute can translate value0.00100.099420.0005
Fetch class attribute name0.00100.100940.0003
XML
Image XML parsing0.00080.080820.0004
class_abstraction
Instantiating content class attribute0.00000.000640.0000
General
dbfile0.00100.0971230.0000
String conversion0.00000.000940.0000
Note: percentages do not add up to 100% because some accumulators overlap

Templates used to render the page:

UsageRequested templateTemplateTemplate loadedEditOverride
1node/view/full.tplfull/forum_topic.tplextension/sevenx/design/simple/override/templates/full/forum_topic.tplEdit templateOverride template
2content/datatype/view/ezimage.tpl<No override>extension/sevenx/design/simple/templates/content/datatype/view/ezimage.tplEdit templateOverride template
2content/datatype/view/ezxmltext.tpl<No override>extension/community_design/design/suncana/templates/content/datatype/view/ezxmltext.tplEdit templateOverride template
5content/datatype/view/ezxmltags/paragraph.tpl<No override>extension/ezwebin/design/ezwebin/templates/content/datatype/view/ezxmltags/paragraph.tplEdit templateOverride template
3content/datatype/view/ezxmltags/line.tpl<No override>design/standard/templates/content/datatype/view/ezxmltags/line.tplEdit templateOverride template
1print_pagelayout.tpl<No override>extension/community/design/community/templates/print_pagelayout.tplEdit templateOverride template
 Number of times templates used: 14
 Number of unique templates used: 6

Time used to render debug report: 0.0001 secs