Andreas Wiesauer wrote:
Hello,

What I want to do is:
I have a CMS with a proprietary API via a proprietary protocol. I want do
develop my own SSOProxy-Portlet for the CMS using the Jetspeed built in
SSO-Facility.

My SSOProxy should establish a session with the CMS-API. The address and
principals and the credentials should be stored as SSOSite via Jetspeed
SSO-Admin (which is no problem).

The steps my SSOProxy has to do are:
1. Get the current user from PortletContext 2. Access the Jetspeed-SSOProvider
3. Get the SSOContext for the current user and the site from SSOProvider and
establish a session with remote principal and credential.

My problems are:
How can I access SSOProvider from my Portlet?

public class MyPortlet
{
    private SSOProvider sso;

    public void init(PortletConfig config)
    throws PortletException
    {
        super.init(config);
sso = (SSOProvider)getPortletContext().getAttribute(CommonPortletServices.CPS_SSO_COMPONENT);
        if (null == sso)
        {
throw new PortletException("Failed to find the SSO Provider on portlet initialization");
        }
    }

....

and in your jetspeed-portlet.xml:

        <js:services>
        <js:service name="SSO" />
        </js:services>


How can I get the subject of the user, so that I can execute
SSOProvider.getCredentials(Subject subject, String site)?

Its not so easy to get Jetspeed's....perhaps you could create one on the fly:

        Principal principal = new UserPrincipalImpl("anon");
        Set principals = new PrincipalsSet();
        principals.add(principal);

Subject subject = new Subject(true, principals, new HashSet(), new HashSet);


It would be nice if you could help me,

Best regards,
Andy

-----Ursprüngliche Nachricht-----
Von: Andreas Wiesauer [mailto:[EMAIL PROTECTED] Gesendet: Donnerstag, 02. Februar 2006 16:13
An: 'Jetspeed Users List'
Betreff: Access SSOProvider from Portlet

Hello,

is it possible to acces SSOProvider from my portlet? Does it work like
accessing the UserManager?

I can get the UserManager by:

            userManager = (UserManager)applicationMap.get(cps:UserManager);

It would be nice to access SSOProvider in the same way.

Thanks for your help!

Best regards

Andy




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





--
David Sean Taylor
Bluesunrise Software
[EMAIL PROTECTED]
[office] +01 707 773-4646
[mobile] +01 707 529 9194

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

Reply via email to