table of Contents
One introducer ...................................................................
Two demand analysis ................................................................ 2
Three overall design .............................................................. 2.2
Four user interface design .......................................................... 4
Five specific achievement ..............................................................9...
Six summons and thank you .................................................................................................
Main references .............................................................................................
Appendix .................................................................................... ..11
Unified identity authentication subsystem interface design and implementation
Zhou Lingling
School of Computer and Information Science, Southwest Normal University, Chongqing 400715, China
Summary: Unified Authentication Subsystem (UIA Subsystem) Unified Manage Users and Campus Each Division Management System (member site). The paper mainly describes the demand analysis and overall design of the subsystem. Specifically, the user service, member site service, and UIA subsystem management of the unified identity authentication subsystem manages the functions and design implementations of each page, and the jump relationship between the page is described in detail. The design idea and implementation of unified login forms are described.
Keywords: user user site user role unified login form login button exit button
Abstract: Unique Identity Authentication system (UIA) manage user and campus each in charge of speaking to the system (member site) in unison This thesis has explained mainly that the demand for this subsystem and overall design Unifying the user service in the authentication.. subsystem of the identity in concrete introduction, member's website serves, UIA system management each function and design of page realize, and it goes on detailed description to transfer the registration of Party membership, etc. from one unit to another to jump page. Have explained The Design Philosophy of unifying body of log-in window and realized the scheme.
Key Word: User MEMBER's Website User Role Unify The Body of Log-in Window Log-in Presses The Button withdraw from The Button
I. Introduction
For each application system inside the campus, users must register, log in, and troubles in each system, and it is easy to cause confusion, more data resources. Repeated storage. Therefore, there is a need for a dedicated system to manage the user, ie the user only needs to register to log in, you can use different application systems. Of course, for each of the different application systems, it is also logically unified management for the convenience of the user. Therefore, it is necessary to develop a UIA (unified identity authentication) subsystem. When the application system is registered in the UIA, we call it a member site.
For the unified management of the user, the one hand is used to register multiple registrations multiple times when accessing each member site. It is also convenient to the user's use, which also saves resources for the member site, and avoids the data redundancy brought by each member site dispersion management unified user. Rest. On the other hand, it also provides convenience to the development of new member sites (new application systems). Unified management of member sites, on the one hand, the user's operation is convenient, that is, after the user logs in to the UIA subsystem, you can directly access the member sites directly through the link. On the other hand, the member site only needs to give the permissions type of different users when registering in the system, and various users can perform permission control, and the system is allocated to the user's permission. Therefore, the UIA subsystem (unified identity certification subsystem) is therefore developed by the group discussion to complete demand analysis and overall design (module division) work, I am mainly responsible for user interface design and concrete implementation.
Second, demand analysis
(1) System function requirements
UIA subsystems To implement two functions, one is to authenticate the user and system, and the other is the permission control between the user and the member site. Assign the user's permission to the user through the user's identity and the member site to access the permissions of a member site, through the system identity and the user's permission control, the member site can be viewed in the system. permission.
(2) System performance requirements
The UIA subsystem will manage massive users and member site information. This is high for the performance requirements of the UIA subsystem. At the same time, the performance requirements of the multi-network are also high, so the UIA subsystem must first have a large storage device, At the same time, there is a large bandwidth to ensure that a large number of users will not occur when access is accessed.
(3) operating environment requirements
.NET platform, SQLSERVER database, IIS server
Third, the overall design
(1) UIA subsystem module division
The Unified Authentication Subsystem (UIA) mainly has two functional modules: identity authentication module and permission management module.
Identification module manages user identity and member site identity. Provide online registration functions to users, providing information (such as username, password), which is the only evidence of user identity, and the user of the UIA subsystem is the legal user of the UIA subsystem; the identity authentication module also to the member Site provides online registration capabilities, and some basic information about member sites are required to register, including the user-defined role types (such as ordinary users, advanced users, admin users).
The authority management module mainly includes: member site for user permission control, user's permission control, member site permission control. When the user applies for allocation permissions to a member site, it is necessary to provide some information to the member site. This information is the permission provided to the member site, and the member site can check the user information after the UIA authentication, and give it User assignments, users who get permissions can access the member site with some identity after UIA authentication. Member Site's permission control of member sites is mainly the call interface that the member site is controlled to other member sites.
The UIA also includes system maintenance modules and use help modules, the main function of the system maintenance module is the management of member sites and maintenance of system data.
The UIA also provides a set of SDKs for use when developing. If the user accesses a member site, the UIA provides a function that returns a user privilege for member site call.
(2) Design ideas and structural level
1. The general design idea of the system is as follows:
Users can make a click login, that is, the user can access all members of the UIA subsystem to all the users of the UIA subsystem, and the user does not need to pass the authentication again after accessing a site. You can access the site with permissions, and return to the member site to his corresponding access. Centralized authorization control is the user's application authorization to the member site, and the user provides the information that wants to see the site, ie Member site application authorization; member site is also authorized to apply for the user, the site can be opened for the user, and the user gets the permission at the site; also provides management functions for the member site, including management of fundamentals And its member users, including access to users, disabling users' permissions. 2. The entire system structure hierarchical relationship description: Mainly explains the development model used in development: .NET hierarchical development, which is also recommended by Microsoft. The main part mainly has three layers: business logic, business appearance, database access layer. The business appearance layer mainly defines some basic operations, which can call the business logic layer, or call the database access layer and the Model layer, the business logic layer is mainly rules that define some operations, you can call the database access layer and the Model layer, database access layer Mainly the specific operation of the database, you can call the Model layer, through this layer of layer call to implement the main function of the system; the WebService layer can call the business logic layer, the database access layer and the Model layer, and the WebUI is mainly provided to the user. Reflect the actual function of the system, you can access the business appearance layer and the Model layer, the main function of the Model layer is to implement data transfer between the layers, which can be called by other layers. This development method is mainly conducive to the maintenance of the system and future system extensions. If a layer occurs or needs to update the function of a layer, only the corresponding layer is required, and there is no need to modify other layers, so It can be localized and easy to solve the problem.
Fourth, user interface design:
According to the functions and applications of the unified identity authentication system, the design user interface mainly includes three pages: user service, member site service, UIA system management. The page relationship diagram is as follows:
As shown in the figure, the user first enters the default page. The default page consists of three links: user service, member site service, UIA system management. The default page is the home page of the information release, and the user can link to the appropriate page to operate as needed. In order to facilitate user operation and use, the links of these three pages are set in the dominant navigation, so they can be switched to any other page in all pages.
For some operations users must first log in, if the user does not log in, click the page link you need to operate directly, the system will directly jump out of the unified login prompt page. From this page, users can log in directly or apply for a unified identity. In order to facilitate the user, the parameter passed is used between the page. When the user logs in, the page directly returns to the interrupted page is interrupted.
The following specifically describes each page:
(1) User Service page Uservice.aspx
User Services page includes modifying information, obtaining help, requesting registration, and viewing information, four subcategories. This page is shown below:
Users can select any link operation in the page, such as changing the password, after the operation is successful, then press the "Continue" button to return to the user service page. Then continue other operations.
1. Modify the information class
This class provides services to modify personal information, through their users, can link to the modified password, modify the confidential problem, modify the Email address, and log out of the four subpages such as user uniform identity. These four links are parallel, and the operation procedure is very similar. Let's introduce the "Modify Password" link: Users click "Modify Password" link to the ChangePassword.aspx subpage, before entering the page, the user must log in first To this system, otherwise the system will automatically jump to the unified login page, let the user registered or log in, after the user login is complete, the system automatically jumps to the modified codon page. Users need to enter the old password, new password, and confirm new password, etc. information. After the system is confirmed, the user can return to the user service page to select another service.
2. Get help classes
This class provides a service that has been logged in the lost password for the already registered user. By it can link to the Findpassword.aspx sub page by it. Users need to enter username, password prompts, answer information, can help users find lost passwords. Because it is to retrieve the password, the user can do not need to log in in this operation.
3. Apply for registration
This class provides a role service for new users to apply for unified identity and application member sites. The following specifically describes the application unified identity page:
The user clicks to apply for a unified identity to the UserReg.aspx page. Users need to enter username, password, confirm password, email, password prompt question, answer, etc. If the user name entered has existed, the system gives the prompt information, the registration is unsuccessful, the user needs to re-register; otherwise the system feedback registration success information, the system returns to the login page.
4. View the information
Users can view their UUID, whether their identity is activated, whether the role is activated. You must log in before the user performs viewing information.
(2) Member site service page
Each sub-page relationship map in the member site service page:
The member site service page includes the modification of my site information, the information in the management site, and the application is a new member site, check four links such as system usid. This page is shown below:
Click "Modify My Site Information" to link to Changesite. The ASP page, the user can modify its information, if the user has not logged in, the system will automatically jump to the login page. After the user logs in with the site administrator role, the system will return to the page, and the user can modify the operation.
Click on the "Manage Site Information" link to the Rolmgraspx page, the site administrator can delete the user in the site in this page management site, if you are enabled, disabled, delete users in the site.
Click "Apply to a New Member Site" to link to the SiteReg.asp page, the user returns the registration success information after entering the relevant correct registration information in this page. Otherwise, returns a registration failure message, the user can re-apply.
Click "USID" to see my site "link to the Viewusid.aspx page, the user can get the USID of the site from this page.
(3) UIA system management page
Diagram of each sub-page in the UIA relationship management page:
The UIA system management primarily manages users and member sites in the UIA, so this page includes the user in the management of the UIA, managing two links in the UIA site. TheUIA System Management page is shown below:
Users can click on "Managing UIA" link to the user sub-page (usermgr.aspx) in the management UIA. Administrator can get any information from this system user, such as user name, uuid, number, etc. Managing users to be enabled. Users can click on the "Administrative UIA Site" link to the member site sub-page (Sitemgr.aspx) in the management UIA. UIA's system administrator can manage the member site registered in the UIA from this page.
The login button, the security exit button and the user unified login form are as follows:
When the user clicks the "Login" button, a unified login window will appear.
Users can log in to the system simply entering the username and password.
This page also provides two function options for users "Auto Log in" and "I am using public computers" and apply for unified identity, application role, and application member site. Users can get these services directly from the login page. If the user When entering the wrong password, the system will not feed back the successful message, but automatically clear the error password, let the user re-enter the password.
Automatic login function option: After the user selection, you can log in to other subsystems directly without entering the username and password again, saving user time, enhancing the user's login experience.
I am using public computer function option: After the user selects this option, the user will not retain the user login information to prevent other users from stealing the username and password of the user to improve the security of the system.
When the user is successfully logged in, the login button automatically changes to the security exit button. Users only need to click this button to securely exit the login.
V. Specific implementation
The interface design of this system is mainly used by the ASP.NET provided in Microsoft's VisualStudio.net2003, which is a server technology that combines various web elements and is a unified web development platform. It provides a variety of services necessary to generate a complete web application .ASP.NET is a compiled, based .NET-based environment, any language (including Visual Basic.net, C #, JScript.net) Create a corresponding application. Use it to build a powerful web application. It provides some features below:
1. It can choose any of any one. NET programming language.
2. Provides both HTML and Web server controls, adding methods, event-driven capabilities, implementing HTML code and procedures separation, easy to modify and read.
3. With Code Behind technology, the interface design is separated from programming, easy to use, facilitated program debugging and maintenance, improves the security of the program.
In the web design part, mainly use the rich control provided in ASP.NET, rationally lay out, according to system planning and system analysis; in the program design part, use the programming language C # to implement control and response to the control and some controls and databases Binding of data in data.
The main applications include Button control, HyperLink control, and CheckBox control.
The syntax of the Button control is as follows:
Text = "Dispname" // text Indicates the title displayed on the button CommandName = "Command" // commandName is used to set the command name associated with the Button control, which can be used to determine which button click in the program, thereby performing the corresponding operation CommandARGUMENT = "THEARGUMENT" // Commandargument is used to set the parameters associated with the commandName property, which is passed to the CommandName to the Command event. Causevalidation = "ture / false" // causevalidation means if the Button control is to perform verification onclick = "onclinkmethod" Runat = "server" /> HyperLink control and Checkbox control have a hyperlink function in the HTML language, and the syntax is also very similar, here is not described. Particular code implemented by the user page See Appendix. Six, summary and thank you Through the joint efforts of the members of the group, the unified identity certification subsystem is basically molded, and the system function is basically realized. The graduation design made me a more deep understanding of the software development process. I not only have a certain understanding of .NET technology, I learned C #, ASP.NET programming, and can write simple user interface programs. This is one of my gains, but I am more touched by the unity and cooperation between the group members, work together, and learn from each other, help each other to achieve the spirit of achieving the goal of this system. It makes me Learn how to work, how to coordinate with people. Through its own efforts, although I have achieved a certain achievement, it also discovered many shortcomings, the lack of knowledge, and the lack of hands-on ability. This graduation design gave me a compelling opportunity before working on a job. In short, this graduation design made me a more fully understanding of my own opportunity, enriching my work experience. Due to the limited personal capacity, time rush, the user interface still has many shortcomings, I will use the remaining time to continue to improve the interface design and its functions, and I hope that the teachers will not enlighten! This graduation design can successfully complete the guiding teacher Zou Xiangchun teacher, Lu Xinhong teacher, for my guidance and help, I will give great help in this process, I would like to express my heartfelt thanks to them! At the same time, I would also like to thank the group of all members of the support and help! Thank you! references: [1] Xiao Jian .SP.NET programming instance and skills collection. Beijing Hope Electronics Press, 2003.23-60 [2] Wang Huigang, Wang Ting. ASP.NET Practical Training Tutorial. Beijing Hope Electronics Press, 2003.29-60.101-128 [3] Wright .c # Programming Technology and Skills. Mechanical Industry Press, 2002.41-111.417-447 appendix: Partially code for member site page Siteegeg.aspx: Using model; Using businessfacade; Namespace WebUI { Public Class Sitereg: System.Web.ui.page { protected system.web.ui.webcontrols.label label1; protected system.web.ui.webcontrols.textbox textbox1; protected system.web.ui.webcontrols.textbox textbox2; protected system.web.ui.webcontrols.label label2; protected system.web.ui.webcontrols.textbox textbox3; protected system.web.ui.webcontrols.label label3; protected system.web.ui.webcontrols.button button1; protected system.web.ui.webcontrols.listbox listbox1; Protected system.web.ui.webcontrols.label label4; Protected system.Web.ui.WebControls.button button2; Protected system.web.ui.webcontrols.dropdownlist dropdownload1; protected system.web.ui.webcontrols.panel panel1; protected system.web.ui.webcontrols.panel panel2; protected system.web.ui.webcontrols.button button; protected system.web.ui.webcontrols.label label5; protected system.web.ui.webcontrols.label label7; Private Sitedata Site = NULL; Private Void Page_Load (Object Sender, System.EventArgs E) { / / Ensure that the UserData type variable is placed in the session, which is convenient to save this variable when refreshing the page. IF (this.page.Session ["SITEDATA"] == NULL) This.page.Session ["SITEDATA"] = new SITEDATA (); // Remove UserData from the session Site = (SITEDATA) THISPAGE.SESSION ["SITEDATA"]; / / Place the user code here to initialize the page { / / Bind the site role to ListBox1 Listbox1.datasource = site.roles; Listbox1.datatextfield = "ROLENAME"; Listbox1.datavaluefield = "roleid"; // Bind the site role to DropDownList1 DROPDOWNLIST1.DATASOURCE = Site.Roles; DropDownList1.DataTextField = "ROLENAME"; DROPDOWNLIST1.DATAVALUEFIELD = "ro LeiD"; / / Perform binding DataBind (); } } #Region web form designer generated code Override protected void oninit (Eventargs E) { InitializationComponent (); Base.onit (e); } /// /// Designer supports the required method - do not use the code editor to modify /// This method is content. /// summary> Private vidinitiRizeComponent () { This.Button1.click = new system.eventhandler (this.button1_click); This.dropdownList1.selected IndiedExchanged = new system.eventhandler (this.dropdownList1_selected); This.button2.click = new system.eventhandler (this.button2_click); This.Button3.click = new system.eventhandler (this.button3_click); This.Load = New System.EventHandler (this.page_load); } #ndregion Private void Button1_Click (Object Sender, System.Eventargs E) { / / Add a new role to the site role Site.Roles.Add (New SiteData.Role (TextBox3.Text.trim ())); TextBox3.text = "" DataBind (); } Private void button2_click (Object Sender, System.Eventargs E) { Site.siteName = textBox1.text.trim (); Site.url = TextBox2.text.trim (); // Call the service completion site registration for the businessFacade layer IF (New SiteSystem (). Createsite (Site)) { Panel2.visible = false; Panel1.visible = true; Label7.Text = site.usid.toString (); } } Private void DropdownList1_selectedIndexchanged (Object Sender, System.Eventargs E) { // Initialization site administrator role //Dropdownlist1.selecteditem ).canadminsite=true; } Private void button3_click (Object Sender, System.Eventargs E) { // Register to complete, redirect to the SITESERVICE.ASPX page Response.Redirect ("SITESERVICE.ASPX", TRUE); } } } Unified login form control Login.ascx part of the code: Namespace Webui.Modules { Public class login: System.Web.ui.userControl { protected system.web.ui.webcontrols.panel panel1; Protected system.Web.ui.webcontrols.checkbox checkbox2; Protected system.web.ui.webcontrols.linkbutton linkbutton1; Protected system.Web.ui.webcontrols.hyperlink hyperlink1; Protected system.Web.ui.webcontrols.hyperlink hyperlink2; protected system.web.ui.webcontrols.label label1; protected system.web.ui.webcontrols.textbox textbox1; protected system.web.ui.webcontrols.label label2; protected system.web.ui.webcontrols.textbox textbox2; Protected system.Web.ui.WebControls.checkbox checkbox1; Protected system.Web.ui.webcontrols.hyperlink hyperlink3; protected system.web.ui.webcontrols.button button1; Private Void Page_Load (Object Sender, System.EventArgs E) { } #Region web form designer generated code Override protected void oninit (Eventargs E) { InitializationComponent (); Base.onit (e); } /// /// Designer supports the required method - do not use the code editor // / Modify the content of this method. /// summary> Private vidinitiRizeComponent () { This.Button1.click = new system.eventhandler (this.button1_click); This.Load = New System.EventHandler (this.page_load); } #ndregion Private void Button1_Click (Object Sender, System.Eventargs E) { // Standardize the parameters and remove the extra spaces String nickname = textBox1.text.trim (); String password = textbox2.text.trim (); // Call UIA's WebService to complete user authentication IF (new businessfacade.usersystem (). Checkuser (Nickname, Password)) { // Add the information from the user to the session Model.userdata user = null; User = new businessfacade.usersystem (). getuser (nickname); THIS.Session ["user"] = user; // Create an authentication ticket FormsauthenticationalTicket Ticket = New FormsauthenticationTicket (1, Nickname, DateTime.Now, DateTime.now.addminutes (30), False, "/"); String hashticket = formsauthentication.encrypt (ticket); Httpcookie usercookie = new httpcookie (formsauthentication.formie (formsauthentication.formie); // Add to Cookies Response.cookies.add (usercookie); // Jump to the appropriate page IF (this.Session]! = NULL) Response.Redirect (this.Session]. Tostring (), true); Else Response.Redirect ("Default.aspx", True; } } } } Page Safety Control Control Control CheckUser.ascx part of the code: Namespace Webui.Modules { Public class checkuser: system.Web.ui.userControl { Private Void Page_Load (Object Sender, System.EventArgs E) { } #Region web form designer generated code Override protected void oninit (Eventargs E) { / / There is no control to display the page. You need a secure authentication page as long as this control is included. IF (this.page.user.Identity.isauthenticated == false) Response.Redirect ("Login.aspx", True; IF (this.page.ssion ["user"] == NULL) Response.Redirect ("Login.aspx", True; InitializationComponent (); Base.onit (e); } /// /// Designer supports the required method - do not use the code editor // / Modify the content of this method. /// summary> Private vidinitiRizeComponent () { This.Load = New System.EventHandler (this.page_load); } #ndregion } }