1. Field of the Invention
This invention relates to the sign-on mechanisms used between users, portal servers, and resource servers on a network. In particular the invention relates to systems and methods for single-sign-on access of a user to a resource server through a portal server.
2. Related Art
A portal is an entry point to a set of resources that an enterprise wants to make available to the portal's users. For some consumer portals, the set of resources includes the entire World-Wide Web. For most enterprise portals, the set of resources includes information, applications, and other resources that are specific to the relationship between the user and the enterprise. For service providers, the portal provides a point of entry to customer service applications.
In general, a portal server includes a variety of software components for selecting, formatting, and transmitting information to a user. These software components may be referred to collectively as middleware.
Prior Art
The initial sign-on S1 is negotiated with the portal server 110, using the sign-on mechanism 120 that is specific to the portal server 110. After sign-on with the portal server 110, the user submits a requests to resource server 115b and negotiates a sign-on S2 with the server. Sign-on S2 is essentially passed through the portal server 110, and the user effectively carries out two independent sign-on procedures to obtain the resource 115b.
Since the sign-on mechanisms 121a, 121b, and 121c associated with servers 115a, 115b, and 115, may be different, significant overhead may be required in a conventional two-level sign-on for complete access to the resources available through the portal server 110.
For web oriented network architectures such as those based upon the Java 2 Platform, Enterprise Edition (J2EE), there is typically a general specification for connection of the network elements. For J2EE, the J2EE Connector Architecture (JCA) outlines an architecture with three main components: a resource adapter, system contracts, and a common client interface (CCI). Although the JCA provides a container-managed sign-on and a component-manages sign-on as two methods for authenticating to a resource server, the JCA does not provide a method for single-sign-on for a user accessing a resource through a portal server.
Accordingly, there is a need for a method and system of providing a single-sign-on capability that allows a portal server to handle authentication, and other sign-on requirements of a resource server on behalf of the user accessing to the resource server through the portal server. There is also a need for a single-sign-on capability that may be shared by different software components associated with a portal server.
A single-sign-on adapter (SSO Adapter) implementing one or more authentication mechanisms that may be used by Portal middleware on behalf of a portal user is disclosed. In one embodiment, a family of Java classes is used to provide a framework for implementing a shareable collection of SSO Adapters, each of which may implement one or more authentication strategies, and which may be used by Portal middleware, on behalf of a Portal User, to gain authenticated access to information services. The single-sign-on adapter provides an abstraction layer between the user and the sign-on/authentication functions associated with connecting to a resource.
In another embodiment, the user credentials required by the resource server the portal server are stored locally on the portal server. Once the user credentials for a particular resource are stored on the portal server, any sign-on pursuant to a request by the user for that resource is handled by the portal server.
In further embodiment, a portal server implements a shared authentication service. After a user has signed on with the portal server, a request for a resource results in a session token being generated by the authentication service. The session token is an unique identifier with sufficient length to make it difficult to guess, and may also be encrypted. The portal server requests access to the requested resource server on behalf of a user by presenting the token. After validating the token with the authentication service, the resource server provides the requested resource to the user via the portal server.
In yet another embodiment, each user signs on to a portal server using a unique ID and/or password. When any user requests a resource from a resource server through the portal server, the portal signs on with that resource server using a special password that permits access to all user accounts on the resource server. The portal server maintains a registry that maps each of the individual users to the respective account identifiers, so that the user in not required to enter an identifier (provided by portal server registry), or a password (provided by portal server all accounts password). Thus, the portal server provides proxy authentication for all users.
The accompanying drawings, which are incorporated in and form a part of this specification, illustrate embodiments of the invention and, together with the description, serve to explain the principles of the invention:
Prior Art
In the following detailed description of the present invention, a system and method for single-sign-on ambiguity in a counter, numerous specific details are set forth in order to provide a thorough understanding of the present invention.
A number of wired devices associated with users, including telecommuter PCs and workstations 205, kiosks 210, and remote terminals 215 are shown coupled to the Internet 220. In addition, a wireless access point 225 is also coupled to the internet, providing access to the wired network for users associated with wireless devices such as telephones 230, personal digital assistants (PDAs) 235 and laptop computers 240. Users on the Internet 220 typically access the gateway 250 from a web-enabled browser and connect to the gateway 250 at the IP address and port for the portal they are attempting to access. The gateway forwards requests on to the core portal node 262.
The interaction between the elements shown in
At the beginning of a session, the user 305 performs a single-sign-on SSO with the portal server 310 using the sign-on component 320 (
When a user 305 submits a request for a resource to the portal server 310 (
Each of the resource servers 315a, 315b, and 315c have a respective sign-on mechanism 321a, 321b, and 321c. The sign-on mechanism for each resource server may be different, requiring unique identifiers and/or passwords, thus each of the respective sign-ons SO2, SO1, and SO3, that is conducted with sign-on mechanisms 321a, 321b, and 321c, may be different. After the portal server 310 signs one with the requested resource server, the request response is delivered to the user 305 via the portal server 310 (
The interaction between the elements shown in
When the user 405 submits a request for a resource (
The interaction between the elements shown in
Each resource server 515a, 515b, and 515c has a respective sign-on component 521a, 521b, and 521c. When the user 505 requests a resource (515a, 515b, or 515c) (
The sign-on component associated with each resource server may be different, thus requiring a different ID/password from the portal server 510. The portal server ID/password grants the portal server 510 access to all user accounts on a given resource server. Thus, the portal server authenticates for all users with respect to a given resource server using a single ID/password.
For resources that have user accounts that must be distinguished (e.g. email), the portal server maintains a registry that maps the portal user with the local resource account, thus allowing the portal server to access the account without the user entering an account identifier.
Portal server 610 provides a mobile mail service 630, a desktop service 635, and a netmail service 640. Each service within the portal server 610 may require access to a resource (615a, 615b, 615c). The portal server 610 includes SSO adapters 625a, 625b, and 625c, that are associated with sign-on mechanisms 621a, 621b, and 621c, respectively.
Each of the SSO adapters is shared by the services 630, 635, and 640, eliminating the need for each service to have its own adapter. A given SSO adapter and associated sign-on mechanism may use stored credential sign-on, shared authorization sign-on, or proxy authorization as previously described. Examples of resources that may be accessed are email, instant messaging, calendar, and addressbook servers.
While the present invention has been described in particular embodiments, it should be appreciated that the present invention should not be construed as limited by such embodiments, but rather construed according to the below claims.
This Application is related to U.S. patent application, Ser. No. ______ by Luu D. Tran, et al., filed on Jul. 14, 2003, entitled “Method and System for Storing and Retrieving Extensible Multi-Dimensional Display Property Configurations” with attorney docket no. SUN-P030063, and assigned to the assignee of the present invention. This Application is related to U.S. patent application, Ser. No. ______ by John E. Saare and Thomas R. Mueller, filed on Jul. 14, 2003, entitled “A Method and System for Device Specific Application Optimization via a Portal Server” with attorney docket no. SUN-P030082, and assigned to the assignee of the present invention, the contents of which are incorporated herein by reference. This Application is related to U.S. patent application, Ser. No. ______ by Sathayanarayanan N. Kavacheri and Luu D. Tran, filed on Jul. 14, 2003, entitled “Hierarchical Configuration Attribute Storage and Retrieval” with attorney docket no. SUN-P030092, and assigned to the assignee of the present invention.