IP Library Granted Patent US 9,177,124
Granted Patent B2
US 9,177,124 · App. 11/680,530 · Granted Nov 3, 2015

Flexible authentication framework

Inventors: Muralidhar Krishnaprasad (Fremont, CA); Mark Davis (Fremont, CA); Mark Ture (Santa Clara, CA); Cindy Hsin (Santa Clara, CA); Meeten Bhavsar (Emerald Hills, CA); Hiroshi Koide (San Francisco, CA); Joaquin Delgado (Santa Clara, CA); Chi-Ming Yang (Sunnyvale, CA); Visar Nimani (Jacksonville, FL); Hui Ouyang (Fremont, CA); Sachin Bhatkar (Sunnyvale, CA); Thomas Chang (Redwood Shores, CA)
Assignee: Oracle International Corporation
G06F21/31G06F17/30867G06F21/6227H04L63/0815
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,177,124
App. No.
11/680,530
Granted
Nov 3, 2015
Kind
B2
Abstract

A flexible and extensible architecture allows for secure searching across an enterprise. Such an architecture can provide a simple Internet-like search experience to users searching secure content inside (and outside) the enterprise. The architecture allows for the crawling and searching of a variety of sources across an enterprise, regardless of whether any of these sources conform to a conventional user role model. The architecture further allows for security attributes to be submitted at query time, for example, in order to provide real-time secure access to enterprise resources. The user query also can be transformed to provide for dynamic querying that provides for a more current result list than can be obtained for static queries.

Claims (53)

1. A method for authenticating users in a secure search system, comprising:

receiving, using one or more processors, user identification information from a user in a secure enterprise system;

authenticating, using the one or more processors, the user to a plurality of secure data sources by providing the user identification information to a plurality of application program interfaces (APIs), with each API interfacing with a respective identity management computer system, and with each identity management computer system of a plurality of identity management computer systems managing identities for one or more secure data sources in the secure enterprise system, where each secure data source provides access to data by authenticated and authorized users, where a number or types of objects representing the user identification information required by a first identity management computer system is different from a number or types of objects representing the user identification information required by a second identity management computer system;

crawling, using the one or more processors, a secure data source associated with the at least one identity management computer system and building an index of documents based on the crawling;

receiving, using the one or more processors, a query from the user;

calling, using the one or more processors, back into the at least one identity management computer system to obtain a security attribute value for the user in response to the query;

appending, using the one or more processors, the security attribute value for the user to the query and using the appended query to query the index; and

based on the appended query and security attributes of documents in the secure data source, determining, using the one or more processors, one or more documents from the index of documents, that are accessible to the user.

2. The method according to claim 1 , wherein calling back into the at least one identity management computer system includes obtaining access information selected from a group consisting of role information, group information, and project information.

3. The method according to claim 1 , further comprising:

if the user cannot be validated, denying the user access to the secure data source.

4. The method according to claim 1 , further comprising:

refreshing access information for the user.

5. The method according to claim 1 , further comprising:

providing an additional API to allow the user identification information to be passed to an additional secure data source.

6. The method according to claim 1 , wherein:

calling back into the identity management computer system includes obtaining project information associated with the user.

7. A non-transitory computer readable storage medium storing instructions, which when executed by one or more processors cause the one or more processors to authenticate users in a secure search system, the instructions comprising:

instructions for receiving user identification information from a user in a secure enterprise system;

instructions for authenticating the user to a plurality of secure data sources by providing the user identification information to a plurality of application program interfaces (APIs), with each API interfacing with a respective identity management computer system, and with each identity management computer system of a plurality of identity management computer systems managing identities for one or more secure data sources in the secure enterprise system, where each secure data source provides access to data by authenticated and authorized users, where a number or types of objects representing the user identification information required by a first identity management computer system is different from a number or types of objects representing the user identification information required by a second identity management computer system;

instructions for crawling a secure data source associated with the at least one identity management computer system and building an index of documents based on the crawling;

instructions for receiving a query from the user;

instructions for calling back into the at least one identity management computer system to obtain a security attribute value for the user in response to the query;

instructions for appending the security attribute value for the user to the query and using the appended query to query the index; and

instructions for determining, based on the appended query and security attributes of documents in the secure data source, one or more documents from the index of documents, that are accessible to the user.

8. The non-transitory computer-readable storage medium according to claim 7 , wherein

instructions for calling back into the at least one identity management computer system includes instructions for obtaining access information selected from a group consisting of role information, group information, and project information.

9. The non-transitory computer-readable storage medium according to claim 7 , further comprising:

instructions for denying the user access to the secure data source when the user cannot be validated.

10. The non-transitory computer-readable storage medium according to claim 7 , further comprising:

instructions for refreshing access information for the user.

11. The non-transitory computer-readable storage medium according to claim 7 , further comprising:

instructions for providing an additional API to allow the user identification information to be passed to an additional secure data source.

12. The non-transitory computer-readable storage medium according to claim 7 , wherein:

calling back into the identity management computer system includes obtaining project information associated with the user.

13. A secure search system comprising:

one or more hardware processors; and

one or more memory devices comprising instructions that, when executed by the one or more processors, cause the one or more processors to perform operations comprising:

receiving user identification information from a user in a secure enterprise system;

authenticating the user to a plurality of secure data sources by providing the user identification information to a plurality of application program interfaces (APIs), with each API interfacing with a respective identity management computer system, and with each identity management computer system of a plurality of identity management computer systems managing identities for one or more secure data sources in the secure enterprise system, where each secure data source provides access to data by authenticated and authorized users, where a number or types of objects representing the user identification information required by a first identity management computer system is different from a number or types of objects representing the user identification information required by a second identity management computer system;

crawling a secure data source associated with the at least one identity management computer system and building an index of documents based on the crawling;

receiving a query from the user;

calling back into the at least one identity management computer system to obtain a security attribute value for the user in response to the query;

appending the security attribute value for the user to the query and using the appended query to query the index; and

based on the appended query and security attributes of documents in the secure data source, determining one or more documents from the index of documents, that are accessible to the user.

14. The secure search system of claim 13 , wherein calling back into the at least one identity management computer system includes obtaining access information selected from a group consisting of role information, group information, and project information.

15. The secure search system of claim 13 , wherein the one or more memory devices further comprise instructions that, when executed by the one or more processors, cause the one or more processors to perform further operations comprising:

denying the user access to the secure data source when the user cannot be validated.

16. The secure search system of claim 13 , wherein the one or more memory devices further comprise instructions that, when executed by the one or more processors, cause the one or more processors to perform further operations comprising:

refreshing access information for the user.

17. The secure search system of claim 13 , wherein the one or more memory devices further comprise instructions that, when executed by the one or more processors, cause the one or more processors to perform further operations comprising:

providing an additional API to allow the user identification information to be passed to an additional secure data source.

18. The secure search system of claim 13 , wherein calling back into the at least one identity management computer system includes obtaining project information associated with the user.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 24, 2007
From: KOIDE, HIROSHI; KRISHNAPRASAD, MURALIDHAR; DAVIS, MARK; TURE, MARK; HSIN, CINDY; BHAVSAR, MEETEN; DELGADO, JOAQUIN; YANG, CHI-MING; NIMANI, VISAR; OUYANG, HUI; BHATKAR, SACHIN; CHANG, THOMAS
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 019337/0903 →
Continuity (4)
Provisional Application 60800737 · May 16, 2006
Provisional Application 60778151 · Mar 1, 2006
Provisional Application 60777988 · Mar 1, 2006
Related Publication 20070208744A1 · Sep 6, 2007