Hình 3-21: Database Diagram

Một phần của tài liệu giải pháp xác thực và bảo mật cho mạng xã hội ứng dụng mô hình kerberos (Trang 47 - 54)

 Bảng User:

Đây là bảng lưu trữ các thông tin của tất cả người dùng trong hệ thống.

TT Tên cột Kiểu dữ liệu Null Constraint Mô tả

1 UserId Bigint, identity(1,1)

Khóa chính Id của người dùng

2 Email Nvarchar(1000) Unique Địa chỉ email của người dùng

3 Password Nvarchar(500) Mật khẩu của người dùng

4 Gender Tinyint x Giới tính của người dùng

0: Female 1: Male

2: Not Specified

5 Birthday Datetime x Ngày sinh của người

dùng

6 Username Nvarchar(1000) Unique Tên đăng nhập của người dùng

7 Address Nvarchar(1000) x Địa chỉ

8 PhoneNumber Nvarchar(20) x Số điện thoại

9 Avatar Nvarchar(500) x Đường dẫn ảnh đại diện 10 Description Nvarchar(MAX) x Mô tả bản thân

11 State tinyint Default: 1 Thiết lập trạng thái của tài khoản người dùng 0: inactive

1: active 2: banned

Bảng 3-1: Mô tả bảng User

 Bảng Friend:

Lưu trữ về các mối quan hệ bạn bè của người dùng trong hệ thống

TT Tên cột Kiểu dữ liệu Null Constraint Mô tả

1 FriendId Bigint, identity(1,1)

Khóa chính Id của một mối quan hệ bạn bè

2 UserId1 Bigint Khóa ngoại Id của người dùng thứ nhất, tham chiếu đến bảng User

3 UserId2 Bigint Khóa ngoại Id người dùng thứ hai,là bạn của người dùng một, tham chiếu đến bảng User

4 isConfirmed bit Default: 0 Đã xác nhận là bạn chưa

0: chưa là bạn 1: đã là bạn của nhau

Bảng 3-2: Mô tả bảng Friend

 Bảng SuggestFriend:

Bảng này lưu lại dữ liệu danh sách các gợi ý bạn bè của một người gửi đến một người dùng khác trong hệ thống (adsbygoogle = window.adsbygoogle || []).push({});

TT Tên cột Kiểu dữ liệu Null Constraint Mô tả

1 SuggestFriendI d

Bigint, identity(1,1)

Khóa chính Id của một gợi ý bạn bè

2 FromUserId Bigint Khóa ngoại Id của ngườigửi gợi ý,tham chiếu đến bảng User

3 ToUserId Bigint Khóa ngoại Id của người nhận gợi ý,tham chiếu đến bảng User

4 SuggestUserId Bigint Khóa ngoại Id của người được gợi ý, tham chiếu đến bảng User

Bảng 3-3: Mô tả bảng SuggestFriend

 Bảng Challenge Question:

Bảng lưu lại các câu hỏi thử thách đưa ra cho người dùng với mục đích xác thực người dùng khi người dùng yêu cầu lấy lại mật khẩu.

1 QuestionId int Khóa chính Id của câu hổi

2 QuestionContent Nvarchar(1000) Nội dung câu hỏi

Bảng 3-4: Mô tả bảng ChallengeQuestion

 Bảng Answer:

Bảng lưu lại câu trả lời của người dùng ứng với từng câu hỏi ở trong bảng Challenge Question.

TT Tên cột Kiểu dữ liệu Null Constraint Mô tả

1 AnswerId int Khóa chính Id của câu trả lời 2 UserId Bigint Khóa ngoại Id của người dùng có

câu trả lời, tham chiếu đến bảng User

3 QuestionId int FK Id của câu hỏi, tham

chiếu đến bảng Question

4 Answer Nvarchar(MAX) Câu trả lời của người

dùng ứng với câu hỏi

Bảng 3-5: Mô tả bảng Answer

 Bảng PrivacyCategory:

Bảng lưu phân loại nhóm privacy của thiết lập về thông tin riêng tư của người dùng.

TT Tên cột Kiểu dữ liệu Null Constraint Mô tả

1 CategoryId Tinyint Khóa chính Id của nhóm

3 Description Nvarchar(1000) x Mô tả về nhóm privacy

Bảng 3-6: Mô tả bảng PrivacyCategory

 Bảng UserPrivacyType: (adsbygoogle = window.adsbygoogle || []).push({});

Bảng này lưu các kiểu Privacy mà người dùng có thể thiết lập.

TT Tên cột Kiểu dữ liệu Null Constraint Mô tả

1 PrivacyTypeId Tinyint Khóa chính Id của kiểu privacy 2 PrivacyTypeNa

me

Nvarchar(100) Tên của kiểu Privacy

3 CategoryId Tinyint Khóa ngoại Id của nhóm mà kiểu privacy thuộc về. 4 Description Nvarchar(1000) x Mô tả về kiểu privacy

Bảng 3-7: Mô tả bảng UserPrivacyType

 Bảng UserPrivacySetting:

Bảng này lưu các thiết lập riêng tư về thông tin của người dùng.

TT Tên cột Kiểu dữ liệu Null Constraint Mô tả

1 PrivacyId int Khóa chính Id của thiết lập

2 UserId Bigint Khóa ngoại Id của người dùng,tham chiếu đến bảng User 3 PrivacyTypeId Tinyint Khóa ngoại Kiểu Privacy, tham

chiếu đến bảng UserPrivacyType

4 PrivacyValue Tinyint Giá trị của Privacy

0: chỉ một mình người dùng có thể xem. 1: bạn bè người dùng có thể xem 2: tất cả người dùng trong hệ thống có thể

xem.

Bảng 3-8: Mô tả bảng UserPrivacySetting

 Bảng Principal:

Bảng lưu lại tên cũng như mật khẩu của các dịch vụ có trong hệ thống.

TT Tên cột Kiểu dữ liệu Null Constraint Mô tả

1 PrincipalID Tinyint Khóa chính Id của dịch vụ 2 PrincipalName Nvarchar(50) Tên của dịch vụ 3 Password Nvarchar(1000) Mật khẩu của dịch vụ

Cài đặt, triển khai và thử nghiệm hệ thống

1.8. Cài đặt

1.8.1. Công cụ và công nghệ sử dụng

 Ngôn ngữ lập trình: Java, javascript.

 Nền tảng Web Service: Java EE6

 IDE: Eclipse.

 Server: Apache Tomcat version 6.

 Hệ quản trị cơ sở dữ liệu: Microsoft SQL Server 2005

1.8.2. Tổng quan hoạt động của hệ thống Foloyu (adsbygoogle = window.adsbygoogle || []).push({});

Hình 4-22: Sơ đồ hoạt động của Foloyu

Một phần của tài liệu giải pháp xác thực và bảo mật cho mạng xã hội ứng dụng mô hình kerberos (Trang 47 - 54)