Forums / Discussions / Using a SSO in eZ Publish

Wednesday 23 December 2009 2:23:38 am - 6 replies

» Read full tutorial

Introduction

Sometimes, during a web application development, you need to interface with your client's software(s) and/or websites in order to keep a common and coherent session within its applicative environment. To do this, it is often useful to use a special tool : SSO (Single Sign On). This article illustrates one way of integrating an eZ Publish based web application into an existing SSO architecture

Author Message

SEBBANE Alexandre

Saturday 26 December 2009 11:18:01 am

I have just publish a little example for sso_handler : bpce_acces. It consists of an SSO Handeler based on client IP.

Paris, France

Jianjun Hu

Saturday 26 December 2009 3:28:39 pm

I'm looking forward your article.

OnlyBlue

☆..·°∴°.☆°°.☆°.
°∴ °☆ .·enjoy star° .·★°∴°
∴°.°★ .·°
  ミ☆°∴°.★☆° ∴·°
°.☆° .·∴° 

Is it a pleasure after all to practice in due time what one has learnt?

Nicolas OTTAVI

Tuesday 06 July 2010 1:40:15 am

Hi,

Thanks for this tutorial, I have implemented a SSO and it works fine. But it seems the SSOHandler is called everytime a page is loaded. I am wondering if I am doing something wrong, as I think the call is need only when the current user is Anonymous.

Is there a way to stop the SSOHandler call when a user is already logged in ?

Or should I put this "logic" in the SSOHandler::handleSSOLogin() method?

Thanks for the answer.
Nico O

Jérôme Vieilledent

Tuesday 06 July 2010 3:15:18 am

Hi Nicolas

SSOHandler will be called every time a page is loaded if your user is not logged in, as SSO is handled in eZUser::instance() method.

Once your user is logged in, it won't be called any more. So maybe you should add some logic in your SSOHandler::handleSSOLogin() in order not to call your login webservice (or other SSO stuffs) if you are not logging in.

Gaetano Giunta

Tuesday 06 July 2010 8:26:14 am

Otoh if you want also SingleSignOff, your code should be called on every page, for both logged-in and anon users. eZ Publish does not currently support that afair, but it is a requirement seldom see in real life...

Principal Consultant International Business
Member of the Community Project Board

Hamadou BABA

Wednesday 09 February 2011 9:30:14 am

Hi Nicolas,

I could learn from this forum that you're successful in implementing SSO. That isn't my case. I would greatly appreciate if you can post me the code you implemented. I used the SPNEGO projet but I'm still unable to get it working as designed for.

Thanking you in advance.

You must be logged in to post messages in this topic!

eZ debug

Timing: Jan 18 2025 02:13:57
Script start
Timing: Jan 18 2025 02:13:57
Module start 'content'
Timing: Jan 18 2025 02:13:57
Module end 'content'
Timing: Jan 18 2025 02:13:57
Script end

Main resources:

Total runtime0.3928 sec
Peak memory usage4,096.0000 KB
Database Queries224

Timing points:

CheckpointStart (sec)Duration (sec)Memory at start (KB)Memory used (KB)
Script start 0.00000.0085 588.8281180.8359
Module start 'content' 0.00850.2081 769.6641879.2422
Module end 'content' 0.21670.1760 1,648.9063343.8047
Script end 0.3927  1,992.7109 

Time accumulators:

 Accumulator Duration (sec) Duration (%) Count Average (sec)
Ini load
Load cache0.00441.1228210.0002
Check MTime0.00150.3770210.0001
Mysql Total
Database connection0.00050.127310.0005
Mysqli_queries0.260166.21702240.0012
Looping result0.00280.70472220.0000
Template Total0.361592.020.1808
Template load0.00180.469520.0009
Template processing0.359791.570920.1798
Template load and register function0.00010.032810.0001
states
state_id_array0.00110.277520.0005
state_identifier_array0.00090.219930.0003
Override
Cache load0.00160.4072340.0000
Sytem overhead
Fetch class attribute name0.00120.3144120.0001
Fetch class attribute can translate value0.00190.474570.0003
class_abstraction
Instantiating content class attribute0.00000.0041120.0000
XML
Image XML parsing0.00290.744770.0004
General
dbfile0.01483.7587520.0003
String conversion0.00000.002130.0000
Note: percentages do not add up to 100% because some accumulators overlap

CSS/JS files loaded with "ezjscPacker" during request:

CacheTypePacklevelSourceFiles
CSS0extension/community/design/community/stylesheets/ext/jquery.autocomplete.css
extension/community_design/design/suncana/stylesheets/scrollbars.css
extension/community_design/design/suncana/stylesheets/tabs.css
extension/community_design/design/suncana/stylesheets/roadmap.css
extension/community_design/design/suncana/stylesheets/content.css
extension/community_design/design/suncana/stylesheets/star-rating.css
extension/community_design/design/suncana/stylesheets/syntax_and_custom_tags.css
extension/community_design/design/suncana/stylesheets/buttons.css
extension/community_design/design/suncana/stylesheets/tweetbox.css
extension/community_design/design/suncana/stylesheets/jquery.fancybox-1.3.4.css
extension/bcsmoothgallery/design/standard/stylesheets/magnific-popup.css
extension/sevenx/design/simple/stylesheets/star_rating.css
extension/sevenx/design/simple/stylesheets/libs/fontawesome/css/all.min.css
extension/sevenx/design/simple/stylesheets/main.v02.css
extension/sevenx/design/simple/stylesheets/main.v02.res.css
JS0extension/ezjscore/design/standard/lib/yui/3.17.2/build/yui/yui-min.js
extension/ezjscore/design/standard/javascript/jquery-3.7.0.min.js
extension/community_design/design/suncana/javascript/jquery.ui.core.min.js
extension/community_design/design/suncana/javascript/jquery.ui.widget.min.js
extension/community_design/design/suncana/javascript/jquery.easing.1.3.js
extension/community_design/design/suncana/javascript/jquery.ui.tabs.js
extension/community_design/design/suncana/javascript/jquery.hoverIntent.min.js
extension/community_design/design/suncana/javascript/jquery.popmenu.js
extension/community_design/design/suncana/javascript/jScrollPane.js
extension/community_design/design/suncana/javascript/jquery.mousewheel.js
extension/community_design/design/suncana/javascript/jquery.cycle.all.js
extension/sevenx/design/simple/javascript/jquery.scrollTo.js
extension/community_design/design/suncana/javascript/jquery.cookie.js
extension/community_design/design/suncana/javascript/ezstarrating_jquery.js
extension/community_design/design/suncana/javascript/jquery.initboxes.js
extension/community_design/design/suncana/javascript/app.js
extension/community_design/design/suncana/javascript/twitterwidget.js
extension/community_design/design/suncana/javascript/community.js
extension/community_design/design/suncana/javascript/roadmap.js
extension/community_design/design/suncana/javascript/ez.js
extension/community_design/design/suncana/javascript/ezshareevents.js
extension/sevenx/design/simple/javascript/main.js

Templates used to render the page:

UsageRequested templateTemplateTemplate loadedEditOverride
1node/view/full.tplforum_topic/full.tplextension/community_design/design/suncana/override/templates/forum_topic/full.tplEdit templateOverride template
7content/datatype/view/ezxmltext.tpl<No override>extension/community_design/design/suncana/templates/content/datatype/view/ezxmltext.tplEdit templateOverride template
1content/datatype/view/ezxmltags/strong.tpl<No override>design/standard/templates/content/datatype/view/ezxmltags/strong.tplEdit templateOverride template
10content/datatype/view/ezxmltags/paragraph.tpl<No override>extension/ezwebin/design/ezwebin/templates/content/datatype/view/ezxmltags/paragraph.tplEdit templateOverride template
5content/datatype/view/ezimage.tpl<No override>extension/sevenx/design/simple/templates/content/datatype/view/ezimage.tplEdit templateOverride template
1content/datatype/view/ezxmltags/line.tpl<No override>design/standard/templates/content/datatype/view/ezxmltags/line.tplEdit templateOverride template
2content/datatype/view/ezxmltags/emphasize.tpl<No override>design/standard/templates/content/datatype/view/ezxmltags/emphasize.tplEdit templateOverride template
1pagelayout.tpl<No override>extension/sevenx/design/simple/templates/pagelayout.tplEdit templateOverride template
 Number of times templates used: 28
 Number of unique templates used: 8

Time used to render debug report: 0.0001 secs