1. Technical Field
Embodiments of the present disclosure relate to access control systems and methods, and more particularly to a system and a method for single sign-on.
2. Description of Related Art
Single sign-on is a property of access control for multiple related, but independent, software systems. With the single sign-on feature a user logs in once to one system and gains access to all systems without being prompted to log in again in each of them. However, if an authorized user enters link pages from a web portal, private information of the user may be obtained by unauthorized people. The unauthorized person may view the linked pages by using the obtained information of the authorized user.
The application is illustrated by way of examples and not by way of limitation in the figures of the accompanying drawings in which like references indicate similar elements. It should be noted that references to “an” or “one” embodiment in this disclosure are not necessarily to the same embodiment, and such references mean at least one.
In general, the word “module”, as used herein, refers to logic embodied in hardware or firmware, or to a collection of software instructions, written in a programming language, such as, Java, C, or assembly. One or more software instructions in the modules may be embedded in firmware, such as in an EPROM. The modules described herein may be implemented as either software and/or hardware modules and may be stored in any type of non-transitory computer-readable medium or other storage device. Some non-limiting examples of non-transitory computer-readable media may include CDs, DVDs, BLU-RAY, flash memory, and hard disk drives.
In an exemplary embodiment, the server 1 includes at least one processor 13 and a storage system 14. The single sign-on system 10 may include one or more modules (as in
The storage system 14 stores a name of each link page 12, a user login table, a first system login table, a second system login table, and a relationship table. The user login table stores entry information of the web portal 11. The entry information of the web portal 11 includes username(s), login time and login availability, as shown in
As shown in
The generation module 100 generates a first ID if the user inputs a username via the input device 20 to enter the web portal 11. The generation module 100 further stores the first ID and the username into the user login table. In one embodiment, the first ID is a 32-bit character string. If the user enters the web portal 11 successfully, the generation module 100 sets the login availability of the username to “valid” in the user login table.
The receiving module 101 receives a link page 12 which is selected by the user and displayed on a page of the web portal 11.
The execution module 102 generates a second ID after the receiving module 102 receives the selected link page 12, and stores the first ID, the second ID, and the name of the selected link page 12 into the first system login table, and stores a first current system time of the server 1 as the request time relating to the selected link page 12 into the first system login table. In one embodiment, the second ID is a 32-bit character string. The execution module 102 sends the first ID and the second ID to the selected link page 12. For example, if the website of the selected link page 12 is “url,” the first ID is “x” and the second ID is “y,” the execution module 102 sends the “x” and the “y” by using a sentence of “url+”?userGuid=x&systemGuid=y”” to the selected link page 12.
The control module 103 determines if the user can access the selected link page 12 by using a “Web service” method with the first ID and the second ID, and enters the selected link page 12 if the user can access the selected link page 12. The Web service is a method of communication between two electronic devices over the web.
In one embodiment, the control module 13 checks a value of the login availability corresponding to the first ID in the user login table. If the value of the login availability shows “invalid,” the control module 103 issues a warning that the user cannot access the selected link page 12. If the value of the login availability is “valid,” the control module 103 obtains the username corresponding to the first ID in the user login table, and detects if a value of the entry status of the selected link page 12 which corresponds to the first ID and the second ID is valid. If the value of the entry status of the selected link page 12 is “invalid,” the control module 103 issues a warning that the user cannot access the selected link page 12. If the value of the entry status of the selected link page 12 is “valid,” the control module 103 calculates a difference between a second current system of the server 1 and the request time of the selected link page 12 in the first system login table. If the difference is more than a preset value, the control module 103 issues a warning that the user cannot access the selected link page 12. In one embodiment, the preset value is 1 minute. If the difference is less than or equal to the preset value, the control module 103 sets the value of the entry status of the selected link page 12 as “invalid.”
The control module 103 further determines the entry style corresponding to the name of the selected link page 12 in the second system login table, determines a value of the determined entry style in the relationship table, and enters the selected link page 12 by using the determined value.
In step S30, the generation module 100 generates a first ID after the user inputs a username via the input device 20, and stores the first ID and the username into the user login table.
In step S31, the generation module 100 sets the login availability of the particular username as “valid” in the user login table.
In step S32, the receiving module 101 receives a link page 12 selected by the user. The web portal 11 displays all the link pages 12.
In step S33, the execution module 102 generates a second ID, stores the first ID, the second ID, and the name of the selected link page 12 into the first login table, and stores a first current time of the server 1 as the request time relating to the selected link page 12 into the first system login table.
In step S34, the execution module 102 sends the first ID and the second ID to the selected link page 12.
In step S35, the control module 103 determines if the user can access the selected link page 12 by using a “Web service” method with the first ID and the second ID, and enters the selected link page 12 if the user can access the selected link page 12.
In step S350, the control module 103 checks a value of the login availability corresponding to the first ID in the user login table. If the value of the login availability is “valid,” step S351 is implemented. If the value of the login availability shows “invalid,” step S352 is implemented, and the control module 103 issues a warning that the user cannot access the selected link page 12, and the procedure ends.
In step S351, the control module 103 obtains the username corresponding to the first ID in the user login table, and step S353 is implemented.
In step S353, the control module 103 detects if a value of the entry status of the selected link page 12 which corresponds to the first ID and the second ID is valid. If the value of the entry status of the selected link page 12 is “invalid,” step S352 described above is implemented. If the value of the entry status of the selected link page 12 is “valid,” step S354 is implemented.
In step S354, the control module 103 obtains the request time relating to the selected link page 12 in the first system login table, and calculates a difference between a second current system of the server 1 and the request time.
In step S355, the control module 103 detects if the difference is more than a preset value. If the difference is more than the preset value, step S352 described above is implemented. If the difference is not more than the preset value, step S356 is implemented.
In step S356, the control module 103 sets the value of the entry status of the selected link page 12 as “invalid.”
In step S357, the control module 103 determines the entry style corresponding to the name of the selected link page 12 in the second system login table.
In step S358, the control module 103 determines a value of the determined entry style in the relationship table, and enters the selected link page 12 by using the determined value.
Although certain inventive embodiments of the present disclosure have been specifically described, the present disclosure is not to be construed as being limited thereto. Various changes or modifications may be made to the present disclosure without departing from the scope and spirit of the present disclosure.
Number | Date | Country | Kind |
---|---|---|---|
201110135252.1 | May 2011 | CN | national |