Active Directory Password Reset in Java

February 7th, 2012 No comments

We use a Java class, accessed through Peoplecode housed in Peoplesoft’s Portal application, to change user passwords in LDAP. Currently, we’re running a SunOne LDAP server, whose rights were recently acquired by Oracle. A decision has been made to replace SunOne with Microsoft Active Directory. This change presented several challenges, but today I’ll mention specifically the obstacle I faced to reset AD passwords using Java.

Tools used

  1. Eclipse IDE
  2. AD Explorer
  3. AD Error codes

Hurdle #1: SSL libraries

The existing Java code for establishing a secure connection to SunOne uses older libraries from novell:

com.novell.ldap.LDAPConnection(new LDAPJSSESecureSocketFactory());

For some reason, I could not form an SSL connection to AD using this library. It wasn’t until I switched to JNDI that I was able to successfully bind to AD over SSL.

Hurdle #2: Resetting passwords

In AD, an error will be thrown if an attempt is made to perform a “restricted operation” without having the proper credentials or binding over SSL. Becoming familiar with the various error codes helped tremendously. Now to the gritty stuff…

SunOne and AD store passwords differently. From what I read/encountered with SunOne, a plain text password could be used to REPLACE the value in the userPassword attribute, and SunOne will take care of the encryption itself. This is not the case for AD. I spent plenty of time researching the web how to encrypt AD passwords before updating the UnicodePwd attribute. Fortunately, I came across a website that provided the source code to encrypt passwords in a manner that AD liked. Thanks Jeremy Morris!

Peoplesoft Enterprise Portal 9.1 Upgrade

August 23rd, 2011 No comments

UCF is heavily involved in upgrading their Peoplesoft Enterprise Portal from 9.0 to 9.1. See the notice on the CS&T departmental website for more information.

Categories: General Tags:

Watch out Apple

July 23rd, 2010 No comments

India has come up with the world’s cheapest “laptop“, a touchscreen computing device that costs $35 (£23).

India’s human resource development minister, Kapil Sibal, this week unveiled the low-cost computing device that is designed for students, saying his department had started talks with global manufacturers to start mass production.

Source: http://www.guardian.co.uk/world/2010/jul/23/india-unveils-cheapest-laptop

Categories: General Tags:

Google TV

July 13th, 2010 No comments

Google is actively working on a way to bring internet content on demand to our televisions.

However, in my experience, one of the reasons why WebTV hasn’t taken off in the past is because the tools used to control the TV and computer are entirely different.

On a computer, I’m sitting comfortably at a desk with a keyboard and mouse that contours my seated position.

On the couch, I kick my feet up use one hand for the remote, and one hand holding a beverage. If there was a way to intuitively operate the TV without sitting in front of a keyboard or using voice commands, it would revolutionize the way we watch TV and potentially interact with all electronic devices.

One such way to manipulate the screen, hand free, and voice free (which I hate) is to use eye tracking devices. After a quick browse through the internet, I found at least one institution performing research on the matter.

It’s not hard for me see this working with new 3D TV technology hitting the shelves at electronic retailers. To get the 3D experience, the user must wear relatively comfortable 3D eye wear. Would it not be that hard to integrate eye tracking into the glasses? Only time will tell.

Categories: General Tags:

Peoplesoft SQR File Read Problem Resolved

December 15th, 2009 No comments

If you plan to open the same file multiple times you cannot rely on #end-file to be correct.

I ran into this problem where it would only read through my data file once but not a second time. After opening the file, I used the following code to read it:

WHILE NOT #end-file
  READ 1 into $line:100
END-WHILE

However once the second read came around, the cursor was already at the eof keeping #end-file true.

The way around this is by altering the While logic:


WHILE 1
  READ 1 into $line:100
  IF #end-file
    BREAK
  END-IF
END-WHILE

In the latter example, it’s important to note that #end-file is used after another READ command. This resets the eof and allows the SQR to function as intended.

Categories: Peoplesoft Tags:

Recent PeopleSoft Projects

June 18th, 2009 No comments

As an Applications Systems Analyst/Programmer for the University of Central Florida, I try to be involved in projects that greatly extend the functionality of PeopleSoft. Recently we’ve gone live with several new applications that have completely automated existing business processes saving time and most importantly money—which is especially true in an era of budget cuts and economic turmoil.

1. Intent to Graduate

This application allows students to file their intent to graduate online through the MyUCF portal. It utilizes work flow to manage and assign specific tasks to users in different departments during the entire ITG approval process. Once the final approval is complete, the student is awarded his/her degree.

2. Online Transcript Request

This project was fascinating to me because it was the first time working with web services as part of Integration Broker. This application gives students the ability to order their transcripts online through the portal where in the past students must submit a paper form and each transcript is processed manually. This new automation utilizes WSDLs from FedEx to automate the printing of shipping labels as well as integrates with an online payment gateway to allow for convenient payment methods.

As new projects are unveiled, I’ll plan to publish a quick blurb about them so my readers can know what I actually do here, but mostly because I will forget about them as not only do I have a terrible memory, but because I am constantly moving on to the next new and exciting thing to come my way =).

Categories: Peoplesoft Tags:

Blackberry application that launches the native web browser

December 16th, 2008 No comments

When I set out to create an application that launches a URL of my choosing, it was hard for me to find one place that walked me through exactly what I needed to do. It took me a lot of digging but I was able to do the following:

  1. Complete the initial java setup/installation
  2. Download Blackberry JDE
  3. Leverage Blackberry sample code
  4. Compile and Run Using the Simulator
Initial java setup/installation

To begin, first we must setup our development environment. This means we need to make sure we have the latest Java Development Kit (JDK). This is available from Sun directly and includes the Java SE Runtime Environment (JRE) and command-line development tools that are used for developing applets and applications, like the one I will show you.

Download Blackberry JDE

Once we have the core java components installed, we move on to installing the Blackberry JDE. This is available from the Blackberry Developers Resource site. You will need to download the Blackberry Java Development Environment (JDE) which sits on top of the java components we installed earlier. This suite should come with the Blackberry MDS Simulator and Blackberry Device Simulators.  We’ll get back to these.

Leverage Blackberry sample code

By default, the Blackberry JDE will install to “C:\Program Files\Research In Motion\BlackBerry JDE 4.5.0“. There is a Workspace file that you should open next. It rests in the “JDE directory\samples\samples.jdw“. Find the sample code we want to use.

Line 71 shows the URL that is going to be opened:

PrimaryResourceFetchThread thread = new PrimaryResourceFetchThread("http://www.google.com", null, null, null, this);

Change this to whatever you choose.

Compile and Run Using the Simulator

Before you compile and run this, make sure you are running MDS which simulates data services through your computer’s internet connection (among other things). Now you’re ready to run it through the simulator. This should begin automatically when you hit F5.

Now, navigate to the application that you were working on… in this case it would be BrowserContentManagerDemo and click to start the app!

Final Note

It took me longer than expected to write this. Primarily because I wanted it to be as straight-forward and detailed as possible so I ran out of time to go over how to create images and set them as your application’s icon. But I will cover that in a future post, as well as how to get the application loaded onto your device. In the meantime, I’m sure you can keep yourself quite busy with the simulator. Enjoy.

Categories: Coding, Technology Tags: , , , ,

What’s to come

November 20th, 2008 1 comment

With the launch of my new blog should come the launch of new material. Well as you can see, there is much of that lacking.

I am excited to tell you that I’ve already begun writing up an article that shows a novice approach to developing your own blackberry applications. Stayed tuned for this, its nearing completion.

Categories: General Tags: