用Java代写一个Authentification Server,包含GUI与交互。
Goals
The goal of this lab is to develop a deeper understanding of how objects can
be moved around the Internet by developing a useful, but small, system to
store data on multiple computers. You will develop a graphical client that
will allow you create, edit and delete student data. The data will be stored
on a Student Server and login data will be stored on the Authentication
Server.
GUI
You will begin with the GUI and code used to complete the previous lab. You
will add a JButton to the toolbar and a menu item under the File menu called
Login. When selected or pressed:
- Show a dialog with userid and password fields
- When the fields are populated and the dialog OK button is clicked, connects to the Authentification Server.
- If the userid/password combination is valid user is allowed to login to the Student Server.
- if the userid/password combination is invalid, another dialog is shown, informing the user the userid/password is invalid.
Once connected, the user will be able to do all functions they could do with
the previous lab. Now, the system will connect to the Student Server to get
the data instead of storing it locally.
Authentification Server
The Authentification Server will receive a request which has a userid/password
combination. It will compare these 2 fields to its own data to see if this is
a valid user login. If it is valid, it will send a login OK message to the
Student Server, allowing the user to begin adding, editing and changing
student data.
The data is kept in a text file, that will need to be loaded when the server
is started. The data can be read in and stored in any structure that the
designer deems worthy.
This server is located at:
TCP/IP Address: 127.0.0.1
Port: 8189
Student Server
The Student Server is similar as to what was used in Lab 7 to store student
data. It is basically an ArrayList of objects wrapped in a server. The 4
classes are: Student, Undergrad, Graduate, NonDegree and are the same design
as they were in Lab 7.
In Lab 7, the arraylist was part of the GUI object. Now, the arraylist is
wrapped in a server and the object must be passed back and forth each time the
user, via the GUI, wants to compete a transaction.
This server is located at:
TCP/IP Address: 127.0.0.1
Port: 8190
Submission
When complete, ZIP all .java files and submit it to Blackboard.