Saturday, October 11, 2014

IBM WebSphere Portal login without LDAP (Custom TAI)

Recently we had a requirement where we had to authenticate a user against a third party via REST call. The user base was in millions and use of LDAP or database as a repository for Portal was ruled out. Also the user credentials were stored centrally in that third party application's repository and were not supposed to be shared with any other application.

Thus enters Trust Association Interceptor (TAI), the less known awesome feature of IBM WebSphere Application Server. TAI provides us a mechanism to customize the authenticate process.
But with TAI also we still need a repository against which TAI will create the user principal and allow us to create user session.
So, the next challenge was how can we customize the authentication process further where we don't need a user repository.
Here comes a feature provided by WebSphere Portal only (not available in WAS) which is primarily used for integration with OpenID providers like Facebook or Google. This feature is called "transient user" which after enabling it creates an in-session temporary user account in Portal's memory. This user account is valid only for that session and when the session expires the user account is also removed. But still it serves the purpose of authenticating third party users and giving them access to your protected resources or pages without having their user account in Portal's local repository.

Refer following link for details about transient user and how to enable it:
https://www.ibm.com/support/knowledgecenter/en/SSYJ99_8.0.0/security/openid_trans_users.html


Tuesday, May 15, 2012

Installing and using SVN Plugin in RAD

It is a general practice to keep project's codebase in SVN. For this purpose it is necessary to integrate IDE in this case RAD (Rational Application Developer) with SVN (in this case CollabNet).

If RAD is directly connected with internet and without any corporate policy restrictions of downloads, then the SVN plugin for RAD can be directly downloaded from RAD.
Else the SVN plugin can be manually downloaded from http://subclipse.tigris.org/servlets/ProjectDocumentList?folderID=2240

Installing SVN plugin in RAD


  1. Download site-1.0.6.zip from the above mentioned link
  2. Unzip the file
  3. In RAD, go to Help > Install New Software


   
   4. Click on Add > Local (Provide the path till the unzipped site-1.0.6 folder)
   5.  Provide Name for the Location. Click OK
   6. Select the Subclipse Plugin checkbox and Click Next


   7.  Follow the instructions as per the Wizard and it will install the plugin
   8.  Restart the RAD
   9. In RAD Go to Window > Open Perspective > Others and a New “SVN Repository Exploring”     Perspective will be available. Select that perspective and click Ok.


   10. In the left pane click on can like icon "Add New Repository"
   11. Provide the URL and User and Password for the SVN
  12. RAD is now configured with SVN

Adding a portlet project in SVN


  1. Right click the requisite project in Project Explorer and go to Team > Share Project

      2. Select the SVN repository type
      3. Select the Appropriate Repository location and click Finish
      4. Provide the Comments for SVN when prompted by the Wizard
      5. Portlet Project has now been added into SVN


Import Portlet project from SVN

  1.        Go to File > Import
  2.        Select “Project from SVN”
  3.        Provide the exact SVN location till the Project
  4.        Click finish

Commit and Update

       Right click on the project go to Team > Commit / Update

Tuesday, May 8, 2012

Simple shell script for WebSphere Portal startup tasks

A simple shell script for WebSphere Portal start, stop, restart and status tasks. Well, it can be customized for websphere application server startup as well. Just need to change the serverName to server1.

Configurable parameters:

wasHome, serverName, userName, password


Usage : server.sh {start|stop|restart|status}

Download Here

Cheers ;)

Sunday, May 6, 2012

Implementing Remote WCM Search Collection in WebSphere Portal


Implementation of search collections is different in clustered environment than standalone environment.
Standalone WCM search collection implementation is very straight forward and can be done by following steps mentioned in this link:
http://www-10.lotus.com/ldd/portalwiki.nsf/dx/Indexing_web_content_wcm7

But for clustered environment, IBM documentation suggests to implement Remote Search collection.
As per the documentation provided here:
http://www-10.lotus.com/ldd/portalwiki.nsf/dx/Configuring_Portal_Search_in_a_cluster_on_Windows_wp7

An instance of WAS node is required which should not be part of Portal Cluster.

Having a separate WAS node or instance depends upon your requirement. If the portal or WCM search is used very extensively in the Portal then somethings it is better to have a new instance of WAS installed for Remote Search.
But if you have a very limited use of Search, then you can create a new "default" profile of WAS on any one of the cluster member machines. This can be achieved by either using Profile Management tool or ./manageprofiles.sh

Once you have successfully created a new WAS profile, start the profile and then follow the steps mentioned in following link on to perform tasks  on newly created profile and cluster primary node:
http://www-10.lotus.com/ldd/portalwiki.nsf/dx/Preparing_for_remote_search_service_wp7

Once these steps are complete follow the steps mentioned in following link to configure remote search service:
http://www-10.lotus.com/ldd/portalwiki.nsf/dx/Configuring_a_remote_search_service_wp7