dee factorial wrote:
I mean that I wish to access the portal user properties/attributes that the
portal contains. my scenario is simple. I have a php web application, lets
say a forum, a user registers using jetspeed, the registration propigates to
the forum(I'm still a little vauge as to how this is done.) then when the
user logs onto jetspeed a portlet with the forum shows up with the user
logged on.

how do you get access the the portlet attributes within the php application
? or do you just use the form based authentication to register the user in
the php application using the SSOWebContentPortlet? I'm a little unclear as
to how it is all done and it looks as though there a mulitple ways to go
about it. I'm just trying to find the best way.

Any help is much appreciated.
Thanks.

OK, it sounds like you want to simply get the user automatically logged in. There are a number of ways to get that working, such as a federated authentication solution. The SSOWebContent portlet is another good solution. It handles passing the credentials from the portal to your php web application. Additional user parameters could be passed in as request parameters, or even post parameters. The WebContentPortlet supports this.

Sounds like you need to learn a bit more about SSOWebContent portlet, or the SSOIFrame portlet. (The SSOIFramePortlet doesn't yet support form-based authentication, coming soon)

First, here is all the docs Im aware of:

http://portals.apache.org/jetspeed-2/multiproject/jetspeed-sso/index.html
http://svn.apache.org/viewvc/portals/jetspeed-2/trunk/design-docs/src/sso/

If you have Jetspeed running on your localhost, try out our demo of SSO.

Login as admin, and go here:

http://localhost:8080/jetspeed/portal/p002.psml

Goto the 2nd portlet on the bottom "SSO Web Content"
Its almost setup for the NY Times site.
Just need to enter the credentials:

username = jetspeed_test0
password = jetspeed

As you can see, it works but its a little sloppy.
That is because the CSS styles are not being included in the proxied WebContent under the <head> area. At the time of writing this portlet, we didn't have a header phase built into Jetspeed. We now do support a header phase, so its just a matter of implementing the header phase in the WebContent portlet.

The SSOWebContentPortlet supports 3 kinds of authentication:

1. Form
2. Basic
3. Query Params

IMPORTANT: a little Additional Documentation is in help mode
Click on the "i" button of the SSOWebContentPortlet

Areas that need improvement:

1. CSS integration
2. better customization in general
3. customization for content rewrite rules
4. better icons for next, prev, refresh
5. SSOIFrame has lagged behind the SSOWebContentPortlet

Where as the SSOWebContent has form and basic authentication,
the SSOIFrame only supports the authentication queryparams.
Additionally, SSOWebContent tracks cookies, SSOIFrame does not.
Where as this might not seem to be important for an IFrame since the IFrame has prebuilt support for navigation, the problem occurs when you navigate to another page, and then come back to the IFrame portlet, you will lose navigational state.

---------------------------------------------------------
You can use the SSO Administration portlet to administer your SSO credentials. So lets take the JIRA issue tracking system as an example, you could enter something like:

Site Name: JIRA Server
Site URL: https://issues.apache.org/jira/secure/Dashboard.jspa
Realm: (leave blank - for basic authentication)
Field name for User ID: os_username
Field name for Password value: os_password

Press Save.

Now click on the JIRA Site, to get the details on the LHS:
Here you can enter:

Portal Principal: either a portal user or portal group
Remote Principal: the remote user principal name
Remote Credential: the remote user credential (password)

Notice that there are two icons you can click on, the first gives a list of users, the second a list of groups. Its important to point out a bad UI design. The portal principal defaults to a user. You can only change that to a group by actually selecting the group from the popup. Thats bad, and we need to fix it. (A hidden field is populated by the popup)

Its an association mapping between:

Site -> Portal Principal -> Remove Credentials

When any user navigates to an SSO portlet, upon render it queries the SSO store, trying to find a user credential. If it fails, it next queries the SSO store for all groups that the user is in. If it fails there it switches to edit mode, allowing you to configure the portlet for the user only (not group). Upon success (either with user or group credential) it attempts to login, with the SSOWebContent portlet, using the configured authentication mode (Form, Basic, Param) in the portlet, or with the SSOIFrame using on the Param case.

Additionally, the SSOWebContent and SSOIFrame portlets can also update the SSO credential store from edit mode If there are no credentials found in view mode, the SSOWebContent and SSOIFrame portlets automatically switch to edit mode, as you can see in the demo.

Finally, I want to point out that the Jetspeed SSO is a portal-centric credential store solution. Where as Shibboleth or Josso or CAS are federated identity provider solutions: much more complicated beast. At my organization we have successfully integrated Jetspeed with the Athens Eduserv Federated Authentication server. We are also close to integrating with Shibboleth, although its been really painful.

I think the SSO solution in Jetspeed needs more testing and bug fixing.
It does have a lot of potential. If we could get the IFrame portlet supporting the same authentication kinds as the WebContent, that would be a great start.

As for using the Jetspeed SSO approach vs. the PHP bridge, its up to you what best fits your needs. Maybe try out both, and see which approach works best. I used the PHP bridge on one project a while back. It seemed to work OK, but I would think the PHP 4 limitation is a roadblock for most users.





---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to