Richard,
        The lazysession.loginurl refers to the Shibboleth request initiator 
endpoint that is configured for the Shibboleth Service Provider (ShibSP) that 
you are using.

        This configuration is done by the administrators of the "federation" 
that you belong to (http://iamsect.ncl.ac.uk/deliverables/docs/federations/).

        The lazysession.loginurl is appended to the domain name the machine 
that your Dspace instance is running on e.g. 
https://content.resourceshare.ac.uk/Shibboleth.sso/Login.

        If you access this URL the browser will be re-directed to the 
"Discovery" service (another end point that has to be configured for your 
ShibSP) that allows the user to choose the institution at which they want to 
authenticate. In my case I choose The University of Manchester as that is where 
I have an account and the Shibboleth Identity Provider (ShibIDP) will provide 
information to the ShibSP that is then passed through the web server to the 
application server where it is available for DSpace to process.

        As Shibboleth is designed to able to be used to protect many different 
types of web services without affecting those services Dspace only has the need 
to know where the browser should be re-directed to so that a Shibboleth session 
can be established e.g. the lazysession.loginurl and the mapping from the 
Authentication headers passed through to Dspace to the Dspace specific 
parameters that are used to determine whether a user can be authenticated e.g.

# Authentication headers for Mail, NetID, and Tomcat's Remote User.
# Supply all parameters possible.
netid-header = net-id
email-header = SHIB-MAIL
email-use-tomcat-remote-user = false

The authenticate headers are defined in the Shibboleth configuration 
(attribute-map.xml) and take the form:

<Attribute name="urn:oasis:names:tc:SAML:2.0:nameid-format:persistent" 
id="net-id">
        <AttributeDecoder xsi:type="NameIDAttributeDecoder" 
formatter="$NameQualifier!$SPNameQualifier!$Name" defaultQualifiers="true"/>
</Attribute>

The value of the id attribute is up to you but must match the one in the Dspace 
Shibboleth configuration file. 

To get Dspace to work with Shibboleth is straight forward if you have access to 
the relevant information about how the ShibSP you intend to use is configured. 
It is out of scope for the Dspace documentation to contain detailed information 
on the setup and configuration of the Shibboleth system as this is a very 
complex area (I know, I have had to do all the configuration of both Dspace and 
Shibboleth).

Regards,
        Ben

------------------------------------------------------------------
Dr Ben Ryan
Jorum Technical Manager

5.12 Roscoe Building
The University of Manchester
Oxford Road
Manchester
M13 9PL
Tel: 0160 275 6039
E-mail: benjamin.r...@manchester.ac.uk
------------------------------------------------------------------


-----Original Message-----
From: Richard Sims [mailto:r...@bu.edu] 
Sent: 10 June 2013 14:57
To: DSpace Tech
Subject: Re: [Dspace-tech] lazysession.loginurl?

Thanks for your quick response...

On Jun 10, 2013, at 9:28 AM, helix84 <heli...@centrum.sk>
 wrote:

> On Mon, Jun 10, 2013 at 2:57 PM, Richard Sims <r...@bu.edu> wrote:
>> Shibboleth configuration has greatly changed since DSpace 1.7. In 3.x there 
>> is configuration File [dspace]/config/modules/authentication-shibboleth.cfg. 
>> In it, there is a lazysession.loginurl parameter. Unfortunately, there is no 
>> useful documentation on the parameter so as to provide any perspective or 
>> guidance on what value to provide, saying only that it is "The url to start 
>> a shibboleth session". And no customer examples can be found on the Web.
> 
> Hi Richard,
> 
> in fact, there were no code changes to the Shibboleth module between 
> DSpace 1.8.2 and 3.0, which you can verify using:
> git diff dspace-1.8.2 dspace-3.0 --
> dspace-api/src/main/java/org/dspace/authenticate/ShibAuthentication.ja
> va

As I indicated, I have been attempting to bring our 1.7 implementation up to a 
3.1 level. Across that void there have been substantial changes.

> 
> There is also documentation about lazy sessions and it includes the 
> authentication.shib.lazysession.loginurl parameter:
> https://wiki.duraspace.org/display/DSDOC3x/Authentication+Plugins#Auth
> enticationPlugins-ConfiguringShibbolethAuthentication(DSpace1.8.1)

That is the documentation I was referencing. It is useless as to this 
parameter. And its only example is:
   lazysession.loginurl = /Shibboleth.sso/Login where it is obviously the case 
that the value is not a URL (no protocol spec up front). The example only 
obfuscates things further.
Attempting to use the file as-is results in the Web browser getting:
   HTTP Status 404 - /Shibboleth.sso/Login Changing the parameter value and 
restarting HTTPD and Tomcat make no difference: the error content is exactly 
the same.

> If you need to find out the exact mechanism how it works in DSpace, 
> you can look at the source (the auth modules are very self-contained):
> https://github.com/DSpace/DSpace/blob/dspace-3.1/dspace-api/src/main/j
> ava/org/dspace/authenticate/ShibAuthentication.java#L476

Please don't expect DSpace adopters to be Java programmers. It's bad enough 
that mortals have to delve into trees of XML files to make intricate changes.
There needs to be straight-up, useful documentation of DSpace parameters. No 
one should have to spend hours trying to divine what cryptic parameters are all 
about. And I say this as someone who has been doing systems work and 
documentation for 30 years.
Frankly, I'm appalled at how primitive DSpace is, and what people have to go 
through to tailor it. This is not 21st century stuff - it's more like what we 
went through in the 1980s to configure systems. DSpace is giving open source 
software a bad reputation in having gross deficiencies like this.

> 
> There is some more documentation about lazy sessions here:
> https://wiki.shibboleth.net/confluence/display/SHIB/LazySession
> https://aai-demo.switch.ch/lazy/

Again, this is not explaining the DSpace parameter, and is not a substitute for 
DSpace documentation imparting understanding as it is supposed to.

If someone on the mailing list understands this parameter, I would appreciate 
receiving some perspective on it.

> 
> 
> Regards,
> ~~helix84
> 
> Compulsory reading: DSpace Mailing List Etiquette 
> https://wiki.duraspace.org/display/DSPACE/Mailing+List+Etiquette

Richard Sims
Sr. Systems Engineer, Information Services & Technology Boston University T 
(617)353-8249 r...@bu.edu http://www.bu.edu/tech


------------------------------------------------------------------------------
How ServiceNow helps IT people transform IT departments:
1. A cloud service to automate IT design, transition and operations 2. 
Dashboards that offer high-level views of enterprise services 3. A single 
system of record for all IT processes http://p.sf.net/sfu/servicenow-d2d-j
_______________________________________________
DSpace-tech mailing list
DSpace-tech@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dspace-tech
List Etiquette: https://wiki.duraspace.org/display/DSPACE/Mailing+List+Etiquette

------------------------------------------------------------------------------
How ServiceNow helps IT people transform IT departments:
1. A cloud service to automate IT design, transition and operations
2. Dashboards that offer high-level views of enterprise services
3. A single system of record for all IT processes
http://p.sf.net/sfu/servicenow-d2d-j
_______________________________________________
DSpace-tech mailing list
DSpace-tech@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dspace-tech
List Etiquette: https://wiki.duraspace.org/display/DSPACE/Mailing+List+Etiquette

Reply via email to