Detailed Design

Contents

Authentication

Student-Athlete Authentication

Authentication refers to the process by which one party determines the identity of another. Our system uses an established authentication system called CalNet that is managed by UC Berkeley. The CalNet authentication system follows the Kerberos model, implementing a Trusted Third Party model. In this model, the trusted central repository houses all the users' information, and without having to host a separate database of users, can authenticate the identity of the users against the CalNet services. This ensures that the CalStARS application can trust that the students who are logging in are truly who they claim to be.


The implementation of the system requires deployment of a specific package and exact steps. The CalNet Authentication Service also offers a more secure setup that encompasses most of the CalStARS user population. However, this process requires a much more secure setup than the system can accommodate at this point. Furthermore, due to FERPA requirements, the application cannot house some personal information such as student or employee identification numbers or social security numbers.


Administrator Authentication

Since the system only needs to handle an exclusive team of administrators, the system uses a minimal authentication process to verify administrative staff. The user information is only verified against the database of self-registered users, and the only requirements are to have an email address and a password. It is highly recommended that a super administrator review the administrative roster periodically.


Some additional steps that can be implemented to enhance the authentication process include notifying the super administrator once a new user is established. This will allow the super administrator to verify the new user and assign the appropriate access level. Also, if the user forgets his/her password, the password can be sent to his/her corresponding email address, adding an extra layer of security.


An even more advanced method of authentication for the administrators would involve using the CalNet Authentication Service to log in to the system. Once the security of the system has been upgraded and the security requirements are met, the system could obtain all of the essential identifying information from CalNet and would no longer require any further input by the user.


Sessions

The application will use sessions because they are accepted as one of the most secure and stable methods of maintaining user activity status in Internet technology. After users have been authenticated and routed to the system, sessions are set that can be checked throughout the navigation of the web presentation.


One of the key session attributes is user access level which controls the user's access throughout the system. This session value limits a student-athlete's view to his/her own section of the application. It also allows administrators to navigate throughout the application including the student-athlete section.


Additionally, the session access level is checked on every load of a page. If the viewer does not have a valid session, he or she will be redirected to the index page to initiate the login process. It is imperative that the exact assignments of this code block not be removed. Due to the nature of JSP, the exact placement of the code serves specific purposes. Finally, when a user chooses to exit the system, he/she can "logout", which terminates the entire session.


^top


Forms

Forms collect information about a student-athlete. There are 2 types of forms: 1) Input Forms which require student-athletes to enter various types of information and 2) Signature Forms which require student-athletes to sign a form to indicate agreement with and acceptance of the contents of a form.


Form Type Description
saPermanentInfo.jsp Input Permanent information including address, parents, guardian, sport (yellow form 1st page).
saEducation.jsp Input High school, UC, college attendance and transfer information (yellow form 1st page).
saCompensation.jsp Input Compensation received by student for professional sports, education expenses, commercial advertising, cash prizes, competition (yellow form 2nd page).
saHousing.jsp Input Housing information (peach form).
saVehicle.jsp Input Vehicle information (peach form).
saFinancialAid.jsp Input Recruitment status, athletic and university scholarships, government aid (gold form 1st page).
saEmployment.jsp Input Summer or academic employment (gold form 2nd page).
saConfirmation.jsp Signature Signature page for all forms of type Input.
saCalDrugTestConsent.jsp Signature Cal consent for drug testing (purple form).
saNCAADrugTestConsent.jsp Signature NCAA consent for drug testing (green form).
saNCAADrugTestResults.jsp Signature NCAA drug test results (blue form page 4).
saNCAAEligibility.jsp Signature NCAA statement of eligibility (blue form page 1).
saNCAAFreshmanAffirm.jsp Signature NCAA incoming freshman affirmation of valid ACT or SAT score (blue form page 4).

^top


Reports

Reports provide administrators with aggregated views of student-athlete data.


Report Description
rptSubmissionStatus.jsp Provides a list of students within a specific sport. For each student Indicates whether a form is submitted
rptRecruitVerification.jsp Provides a list of students whose recruitment status has not yet been verified by an administrator.
rptRecruitScholarship.jsp Provides a list of students with their respective recruitment and scholarship status.

^top


Support Pages

Support pages provide support functionality for forms. Some provide login, registration, authentication, and password recall support. Others encapsulate header and footer information that is reused throughout all forms.


Page Description
index.htm Provides option to authenticate as a student-athlete or administrator.
admLogin.jsp Authenticates administrator and sets session information.
admForgot.jsp Allows administrator to retrieve a forgotten password.
admRegister.jsp Allows administrator to register as a user.
admHome.jsp Allows administrator to generate reports or view student forms.
saLoggedIn.jsp Page that redirects from CalNet authentication and sets session information.
saHome.jsp Allows student-athlete to navigate to different Forms following successful authentication. Also indicates the submission status of each form.
saHeader.jsp Encapsulates header information for all Input Forms.
saFooter.jsp Encapsulates footer information for all Input Forms.
saSignHeader.jsp Encapsulates header information for all Signature Forms.
saSignFooter.jsp Encapsulates footer information for all Signature Forms.

^top


Stylesheets

Stylesheets provide formatting options for Input Forms and Support Pages.


Stylesheet Description
formLayout.css Specifies layout for Input and Signature forms.
homeLayout.css Specifies layout for Home pages.
indexLayout.css Specifies layout for admin Support Pages.

^top


JavaBeans

JavaBeans are invoked by Forms and Support Pages to retrieve data from and save data to the database. Each JavaBean has get and set methods to get and set values for the JavaBean. Each JavaBean also has a retrieve method to load the JavaBean with data from the database and a save method to store data from the JavaBean to the database.


JavaBean Description Used By
Student.java Processes permanent information. admHome.jsp
saCalDrugTestConsent.jsp
saCompensation.jsp
saConfirmation.jsp
saEducation.jsp
saEmployment.jsp
saFinancialAid.jsp
saHome.jsp
saHousing.jsp
saNCAABuckley.jsp
saNCAADrugTestConsent.jsp
saNCAADrugTestResults.jsp
saNCAAEligibility.jsp
saNCAAFreshmanAffirm.jsp
saPermanentInfo.jsp
saVehicle.jsp
rptSubmissionStatus.jsp
rptRecruitVerification.jsp
rptRecruitScholarship.jsp
Education.java Processes education information. saEducation.jsp
Compensation.java Processes compensation information. saCompensation.jsp
Housing.java Processes housing information. saHousing.jsp
Vehicle.java Processes vehicle information. saVehicle.jsp
FinancialAid.java Processes financial aid information. saFinancialAid.jsp
rptRecruitVerification.jsp
rptRecruitScholarship.jsp
Employment.java Processes employment information. saEmployment.jsp
StudentSport.java Processes relationship between student and his/her respective sport(s). saCalDrugTestConsent.jsp
saCompensation.jsp
saConfirmation.jsp
saEducation.jsp
saEmployment.jsp
saFinancialAid.jsp
saHome.jsp
saHousing.jsp
saNCAABuckley.jsp
saNCAADrugTestConsent.jsp
saNCAADrugTestResults.jsp
saNCAAEligibility.jsp
saNCAAFreshmanAffirm.jsp
saPermanentInfo.jsp
saVehicle.jsp
StudentForm.java Processes relationship between student and his/her respective Input or Signature Forms. saCalDrugTestConsent.jsp
saCompensation.jsp
saConfirmation.jsp
saEducation.jsp
saEmployment.jsp
saFinancialAid.jsp
saHome.jsp
saHousing.jsp
saNCAABuckley.jsp
saNCAADrugTestConsent.jsp
saNCAADrugTestResults.jsp
saNCAAEligibility.jsp
saNCAAFreshmanAffirm.jsp
saPermanentInfo.jsp
saVehicle.jsp
rptSubmissionStatus.jsp
SchoolYear.java Processes school year information. admHome.jsp
admLogin.jsp
saLoggedIn.jsp
Authorization.java Assigns administrator access level. admLogin.jsp
StudentList.java Retrieves a list of students belonging to a specific sport. admHome.jsp
rptSubmissionStatus.jsp
rptRecruitVerification.jsp
rptRecruitScholarship.jsp
SportList.java Retrieves the list of sports. admHome.jsp
saPermanentInfo.jsp
SchoolYearList.java Retrieves a list of school years with data available for retrieval. admHome.jsp

^top


Data

Data correspond to all student-athlete information entered and saved via the Input and Signature forms.


Table Description Used By
Authorization Data about the administrator used to perform authentication and assign access level. Authorization.java
Compensation Compensation received by student for professional sports, education expenses, commercial advertising, cash prizes, competition. Compensation.java
Student Permanent information including address, parents, and guardian. Student.java
StudentList.java
Education High school, UC, and college attendance. Education.java
Scholarship Scholarships from Cal and other sources. FinancialAid.java
Housing Housing information. Housing.java
Vehicle Vehicle information. Vehicle.java
FinancialAid Recruitment status, athletic and government aid. FinancialAid.java
Employment Summer or academic employment. Employment.java
TransferHistory Transfer information. Education.java
Sport List of sports. SportList.java
StudentList.java
StudentSport.java
SchoolYear List of school years. SchoolYear.java
SchoolYearList.java
Form List of forms. StudentForm.java
StudentForm Associates students to submitted forms. StudentForm.java
StudentSport Associates students to their respective sports. StudentList.java
StudentSport.java

^top