1. Trang chủ
  2. » Luận Văn - Báo Cáo

Xây dựng hệ thống quản lý dự án

56 7 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 56
Dung lượng 1,62 MB

Nội dung

TRƯỜNG ĐẠI HOC SỰ PHẠM – ĐẠI HỌC ĐÀ NẴNG KHOA TIN HỌC BÁO CÁO ĐỒ ÁN TỐT NGHIỆP TÊN ĐỀ TÀI XÂY DỰNG HỆ THỐNG QUẢN LÝ DỰ ÁN SVTH : HUỲNH CƠNG TUYỂN GVHD : TS NGUYỄN ĐÌNH LẦU LỚP : 16CNTT3 ĐÀ NẴNG, THÁNG NĂM 2020 TÓM TẮT Tên đề tài: Xây dựng hệ thống quản lý dự án Sinh viên thực hiện: Huỳnh Công Tuyển MSSV :312024161157 Lớp: 16CNTT3 Qua thực tiễn quản lý thời gian tổ chức, nhóm, em thấy vấn đề cấp thiết Nếu quản lý không tốt việc đạt mục tiêu tổ chức, nhóm đề khó Vì em có ý tưởng “Xây dựng hệ thống quản lý dự” để người dùng thành viên nhóm báo cáo cơng việc giao qua đảm bảo tiến độ suất hoạt động Hệ thống có ba đối tượng chủ yếu Quản trị viên, Quản lý thành viên dự án Quản trị viên quản lý thơng tin hệ thống, Quản lý có nhiệm vụ tạo công việc cho thành viên thực báo cáo công việc tất thành viên khác Ý tưởng xây dựng dựa tảng Web Service, với front-end - thao tác trực tiếp với người dùng back-end – xử lý thông tin từ front-end Đề tài sử dụng công nghệ Spring Boot , Angular, OAuth2 Trong q trình làm đề tài mắc nhiều sai sót, em khắc phục phát triển để hệ thống sử dụng rộng rãi NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ……………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ……………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ……………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… …………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ……………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… Đà Nẵng, ngày tháng năm 2020 Giảng viên hướng dẫn MỤC LỤC TÓM TẮT ii NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN i DANH SÁCH CÁC BẢNG, HÌNH VẼ iv DANH SÁCH CÁC KÝ HIỆU, CHỮ VIẾT TẮT v LỜI NÓI ĐẦU CHƯƠNG 1: MỞ ĐẦU 1.1 Tổng quan 1.1.1 Khái niệm dự án 1.1.2 Các công cụ quản lý báo cáo 1.2 Mục tiêu đề tài 1.3 Phạm vi đề tài CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 2.1 Spring Boot [1] 2.2 Angular [2] .4 2.3 MySql [3] 2.4 Spring Boot OAuth2 [4] 2.4.1 Giới thiệu JWT ( Json Web Token) [5] 2.4.2 Sơ lược Spring Boot OAuth2 [6] CHƯƠNG 3: PHÂN TÍCH YÊU CẦU 3.1 Mơ hình Use Case 3.1.1 Nhóm chức người dùng 3.1.2 Nhóm chức người dùng quản lý 3.1.3 Nhóm chức Quản trị viên 10 3.2 Sơ đồ lớp (Class Diagram) 11 3.3 Đặc tả Use Case biểu đồ cho chức 11 3.3.1 Chức đăng nhập .11 3.3.2 Chức đăng xuất 12 3.3.3 Chức quản lý dự án .14 3.3.4 Chức xem dự án .15 3.3.5 Chức quản lý công việc/ vấn đề 16 3.3.6 Chức xem công việc/vấn đề 18 3.3.7 Chức thêm/sửa/xóa báo cáo 19 3.3.8 Chức thêm công việc/vấn đề 20 3.3.9 Chức xóa công việc 21 3.3.10 Chức thêm dự án 22 3.3.11 Chức xóa dự án 24 3.3.12 Chức sửa dự án 25 3.3.13 Chức quản lý người dùng 26 3.3.14 Chức thêm người dùng 28 3.3.15 Chức sửa người dùng 29 CHƯƠNG 4: THIẾT KẾ VÀ TRIỂN KHAI 33 4.1 Triển khai hệ thống 33 4.1.1 Back-end 33 4.1.2 Front-end 33 4.2 Màn hình 34 4.3 Màn hình quản lý dự án 34 4.3.1 Màn hình thêm dự án 34 4.3.2 Màn hình xem dự án 35 4.4 Màn hình quản lý Issue 36 4.4.1 Màn hình xem Issue 36 4.4.2 Màn hình tạo Issue 37 4.4.3 Màn hình cập nhật Issue Report Task 38 4.5 Màn hình chức quản lý người dùng 38 CHƯƠNG 5: ĐỐI ỨNG TRÊN NỀN TẢNG DI ĐỘNG (PWA) 39 5.1 PWA ? 39 5.2 Ưu điểm PWA 39 5.3 Nhược điểm PWA 39 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 41 Kết đạt 41 Hạn chế 41 Hướng phát triển 41 TÀI LIỆU THAM KHẢO 42 PHỤ LỤC DANH SÁCH CÁC BẢNG, HÌNH VẼ Hình Lợi Spring Boot Hình 2 Sơ đồ hoạt động JWT (nguồn : topdev.vn) Hình Sơ đồ hoạt động OAuth2 (nguồn: viblo.asia) Hình Sơ đồ Use Case Hình Class Diagram .11 Hình 3 Biểu đồ chức đăng nhập 12 Hình Biểu đồ chức đăng xuất 13 Hình Biểu đồ chức quản lý dự án 15 Hình Biểu đồ chức xem dự án 16 Hình Biểu đồ cho chức quản lý công việc/vấn đề 17 Hình Biểu đồ chức xem công việc/vấn đề 19 Hình Biểu đồ chức thêm/ sửa/ xóa báo cáo 20 Hình 10 Biểu đồ chức thêm cơng việc/vấn đề 21 Hình 11 Biểu đồ chức xóa cơng việc/vấn đề .22 Hình 12 Biểu đồ cho chức tạo dự án 24 Hình 13 Biểu đồ chức xóa dự án .25 Hình 14 Biểu đồ chức sửa dự án 26 Hình 15 Biểu đồ chức quản lý người dùng 27 Hình 16 Biểu đồ chức tạo người dùng 29 Hình 17 Biểu đồ chức sửa người dùng .31 Hình 18 Biểu đồ chức xóa người dùng .32 Bảng Nhóm chức người dùng Bảng Nhóm chức người dùng quản lý Bảng 3 Nhóm chức quản trị viên 10 Bảng Đặc tả Use Case chức đăng nhập 12 Bảng Đặc tả Use Case chức đăng xuất 13 Bảng Đặc tả Use Case chức quản lý dự án 14 Bảng Đặc tả Use Case chức xem dự án .15 Bảng Đặc tả Use Case cho chức quản lý công việc/vấn đề 16 Bảng Đặc tả Use Case chức xem công việc vấn đề 18 Bảng 10 Đặc tả Use Case chức thêm/sửa/xóa báo cáo 19 Bảng 11 Đặc tả Use Case chức thêm công việc/vấn đề 20 Bảng 12 Đặc tả Use Case chức xóa cơng việc 21 Bảng 13 Đặc tả Use Case chức thêm dự án 23 Bảng 14 Đặc tả Use Case chức xóa dự án 24 Bảng 15 Đặc tả Use Case chức sửa dự án 25 Bảng 16 Đặc tả Use Case chức quản lý người dùng .27 Bảng 17 Đặc tả Use Case chức thêm người dùng 28 Bảng 18 Đặc tả Use Case chức sửa thông tin người dùng 29 Bảng 19 Đặc tả Use Case chức xóa người dùng Error! Bookmark not defined DANH SÁCH CÁC KÝ HIỆU, CHỮ VIẾT TẮT KÝ HIỆU: CHỮ VIẾT TẮT: - JWT: Json Web Token CSDL: Cơ sở liệu API: Application Programming Interface Xây dựng hệ thống quản lý dự án LỜI NĨI ĐẦU Chúng ta sống thời đại cơng nghệ 4.0, việc giao tiếp, làm việc hầu hết dựa vào công nghệ Chúng ta giao tiếp với qua mạng xã hội, làm việc với dựa tảng web hỗ trợ, để máy móc giúp tối ưu công việc nâng cao suất làm việc cho cá chân, tập thể Khi bước đến giảng đường trường Sư Phạm, việc giao tiếp làm việc nhóm ngày nhiều Làm việc nhóm có mặt tốt, xấu riêng Trong dự án có bất đồng khơng có xếp công việc tỉ mĩ thành viên nhóm dễ xảy mâu thuẫn Việc làm việc có tổ chức làm cho dự án hoạt động trở nên suốn sẻ trở nên tiến độ Trong thực tế cá nhân em, việc xếp quản lý thời gian vấn đề khó khăn, vấn đề cấp thiết số tổ chức hoạt động Từ suy nghĩ em nảy sinh ý tưởng làm đề tài Xây dựng hệ thống quản lý dự án giúp cho việc quản lý thời gian cách đơn giản thuận tiện Tất công việc bạn tổ chức gọn gàng ngăn nắp trực quan, hệ thống lưu trữ tập trung không làm thời gian tìm kiếm liệu Tổ chức cơng việc giao nhiệm vụ cho thành viên rõ ràng, có ngày bắt đầu, có ngày kết thúc cơng việc giúp cho thành viên dự án biết việc cần phải làm Tất cơng việc dự án đồng lưu Databasse Server tất thiết bị thông qua hệ thống App, giúp quản lý dự án lúc nơi Em mong hệ thống phát triển tương lai Em xin gởi lời cảm ơn sâu sắc đến TS Nguyễn Đình Lầu đồng hành, hỗ trợ giúp đỡ em trình làm đề tài Đề tài trình làm có nhiều sai sót hạn chế kinh nghiệm để em làm tốt dự án sau Em xin chân thành cám ơn SVTH : Huỳnh Công Tuyển GVHD: TS Nguyễn Đình Lầu Xây dựng hệ thống quản lý dự án CHƯƠNG 1: MỞ ĐẦU Chương trình bày tổng quan đề tài, khái niệm dự án, tính chất dự án, mục tiêu phạm vi đề tài 1.1 Tổng quan 1.1.1 Khái niệm dự án Dự án tập hợp hoạt động có liên quan đến thực khoảng thời gian có hạn, với nguồn lực giới hạn; nguồn tài có giới hạn để đạt mục tiêu cụ thể, rõ ràng, làm thỏa mãn nhu cầu đối tượng mà dự án hướng đến Thực chất, Dự án tổng thể sách, hoạt động chi phí liên quan với thiết kế nhằm đạt mục tiêu định thời gian định Các thơng tin dự án Tính mục tiêu: • Dự án có mục tiêu rõ ràng • Định hướng mục tiêu • Sản phẩm cuối ln đánh giá xem có phù hợp, có đạt mục tiêu khơng • Các mục tiêu phải liên quan đến dự án Có hạn định rõ ràng • Lịch biểu xác định trước • Các ngày bắt đầu kết thúc phải rõ ràng • Các mốc thời gian theo dõi đưa đánh giá Sự giới hạn • Giới hạn nguồn lực • Giới hạn kinh phí • Giới hạn thời gian Trong đề tải em em thực mặt quản lý thời gian dự án 1.1.2 Các công cụ quản lý báo cáo Trong xu nay, phần mềm chuyên dụng cho việc lập kế hoạch quản lý dự án xuất nước ta nhiều Các phần mềm hỗ trợ dự án nói chung, không phân biệt dự án phần mềm hay xây dựng, Một số kể đến Microsoft Project, Redmine, 1.2 Mục tiêu đề tài Lý đằng sau việc sử dụng hệ thống báo cáo ngày vấn đề giao tiếp Trong lĩnh vực liên quan đến dự án, giao tiếp quan trọng Khơng có dự án khơng thành công việc đạt mục tiêu họ đưa SVTH : Huỳnh Công Tuyển GVHD: TS Nguyễn Đình Lầu Xây dựng hệ thống quản lý dự án 4.2 Màn hình Hình Màn hình 4.3 Màn hình quản lý dự án Hình Màn hình quản lý dự án Trên hình liệt kê danh sách project mà bạn tham gia Tại danh sách quản lý dự án, kích vào tên dự án chuyển hướng trang xem dự án Nếu mà người dùng có ROLE =’ADMIN’ or ‘SYSTEM’ có quyền tạo thêm project 4.3.1 Màn hình thêm dự án SVTH : Huỳnh Cơng Tuyển GVHD: TS Nguyễn Đình Lầu 34 Xây dựng hệ thống quản lý dự án Hình Màn hình thêm dự án Màn hình có quản trị viên admin truy cập Nó chứa thông tin thành viên/quản lý công ty để thêm dự án, ô input liệu 4.3.2 Màn hình xem dự án Hình 4 Màn hình xem dự án Tại hình xem dự án hiển thị thông tin tên dự án, mô tả, quản lý thành viên dự án Màn hình liệt kê danh sách member có dự án Ở tùy vào Role người dùng thêm xóa member khỏi dự án Nếu quản trị viên hiển thị thêm button “Sửa” để sửa thông tin dự án SVTH : Huỳnh Cơng Tuyển GVHD: TS Nguyễn Đình Lầu 35 Xây dựng hệ thống quản lý dự án 4.4 Màn hình quản lý Issue Hình Màn hình quản lý cơng việc Ở hình liệt kê danh sách issue Ở phía bang danh sách cơng việc có input để nhập thông tin để lọc công việc cần tìm Nếu quản trị viên admin bạn tạo thêm issue cho người dùng 4.4.1 Màn hình xem Issue Hình Màn hình xem cơng việc SVTH : Huỳnh Cơng Tuyển GVHD: TS Nguyễn Đình Lầu 36 Xây dựng hệ thống quản lý dự án Màn hình hiển thị thơng tin công việc trạng thái, loại công việc, tiến độ,… Màn hình liệt kê list danh sách report issue Ở hình này.nếu issue assignee cho người dùng đăng nhập thị hình hiển thị thơng tin để người dùng report 4.4.2 Màn hình tạo Issue Ở hình người dùng có ROLE ‘SYSTEM’ OR ‘ADMIN’ có quyền tạo issue Khi nhập thơng tin issue Bấm button Create người assignee nhận MAIL thông tin task SVTH : Huỳnh Cơng Tuyển GVHD: TS Nguyễn Đình Lầu 37 Xây dựng hệ thống quản lý dự án 4.4.3 Màn hình cập nhật Issue Report Task Hình Màn hình cập nhật cơng việc Tại hình hiển thị thơng tin cơng việc ô input để nhập thông tin cần thay đổi, người dùng đẩy cơng việc cho người khác gặp khó khăn, thay đổi thông tin tiến độ công việc nhận Nếu cơng việc hồn thành chọn trạng thái “Verify” giao lại cho quản lý để xác nhận hồn thành cơng việc 4.5 Màn hình chức quản lý người dùng Hình Màn hình quản lý người dùng Ở hình hệ thống liệt kê danh sách người dùng hệ thống Trên hình có input người dùng tìm kiếm theo tên SVTH : Huỳnh Cơng Tuyển GVHD: TS Nguyễn Đình Lầu 38 Xây dựng hệ thống quản lý dự án CHƯƠNG 5: ĐỐI ỨNG TRÊN NỀN TẢNG DI ĐỘNG (PWA) 5.1 PWA ? PWA(Progressive Web Apps) ứng dụng cung cấp tính bổ sung dựa thiết bị hỗ trợ, cung cấp khả ngoại tuyến, đẩy thơng báo, có giao diện tốc độ tương đương với ứng dụng Native lưu trữ cục tài nguyên Ứng dụng đời để mang lại thật nhiều lợi ích cho người dùng nhà phát triển 5.2 Ưu điểm PWA Progressive Web Apps mang lại lợi ích cho nhà bán lẻ, nhà cung cấp thơng tin, tổ chức phi phủ người dùng họ như: • • • • • • • • • Khả offline Tốc độ hiệu tốt nhiều so với website Bảo mật tốt Thêm vào Home Screen Push notifications Bounce rates tốt Lắp đầy khoản cách ứng dụng di động website Cảm giác giống ứng dụng Không submissions/rejections từ App Store 5.3 Nhược điểm PWA Bên cạnh ưu điểm vượt trội kể PWA có khuyết điểm sau: • • • • Hỗ trợ trình duyệt hạn chế Native API access hạn chế Không vào App Store Không phải PWA dùng link cho cấu trúc page họ, xây dựng PWA với tabs không link được, search engine tìm SVTH : Huỳnh Cơng Tuyển GVHD: TS Nguyễn Đình Lầu 39 Xây dựng hệ thống quản lý dự án Ứng dụng vào hệ thống Hiện , hệ thống ứng dụng thành công PWA , việc áp dụng PWA hệ thống giúp cho việc thao tác linh hoạt tảng WEB + Di động SVTH : Huỳnh Công Tuyển GVHD: TS Nguyễn Đình Lầu 40 Xây dựng hệ thống quản lý dự án KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN Kết đạt Qua trình phát triển đề tài em học hỏi nhiều thứ, áp dụng công nghệ vào đề tài, phát triển hệ thống nhằm giúp cho việc báo cáo tiến độ công việc dự án thực cách dễ dàng, tiện lợi Cũng nhờ mà em nhận thách thức, hội phía trước, để chuẩn bị đầy đủ cho hành trang sau Hạn chế Đề tài áp dụng cho cơng ty hay tổ chức có nhân 100 người Hệ thống quản lý mặt thời gian, nên chưa thể bao quát dự án quản lý Vì dự án lần đầu áp dụng tảng công nghệ nêu chương 2, nên trình làm gặp nhiều vấn đề khó giải nên nhiều thời gian, nên có chức nghiệp vụ em chưa thể hồn thành Chưa có chức tự động cảnh báo hay nhắc nhở người dùng Khi deloy lên server hệ thống bị chết, em chưa tìm cách khắc phục Hướng phát triển Hoàn thiện việc đưa ứng dụng lên server, để đưa sử dụng, qua tìm hạn chế mà cá nhân em chưa thấy trình phát triển Phát triển hệ thống tảng di động, phát triển tính quản lý nhân sự, quản lý chi phí dự án Phát triển server( Spring Boot Batch) để xử lý hoạt động tự động hệ thống Phát triển thêm tính để cạnh tranh đưa thị trường, em nghĩ dự án sử dụng thay số cơng cụ theo dõi tiến độ có SVTH : Huỳnh Cơng Tuyển GVHD: TS Nguyễn Đình Lầu 41 Xây dựng hệ thống quản lý dự án TÀI LIỆU THAM KHẢO [1] Website Spring Boot “https://spring.io/” [2] Website Angular “https://angular.io/start” [3] Website Wikipedia “https://vi.wikipedia.org/wiki/MySQL” [4] Website Sivatechlab “http://sivatechlab.com/secure-rest-api-using-springsecurity-oauth2/” [5] Website Topdev “https://topdev.vn/blog/tai-sao-phai-su-dung-json-webtoken-jwt-de-bao-mat-api/” [6] Website Viblo “https://viblo.asia/p/xay-dung-oauth2-service-api-bangspring-boot-RnB5p43G5PG” [7] Website Creative-Tim “https://demos.creative-tim.com/materialdashboard-angular2” (Creative Tim) SVTH : Huỳnh Công Tuyển GVHD: TS Nguyễn Đình Lầu 42 Xây dựng hệ thống báo cáo ngày PHỤ LỤC CODE OAUTH2 Xử lý đăng nhập Class SecurityConfig @Configuration @EnableWebSecurity @EnableGlobalMethodSecurity(prePostEnabled = true) public class SecurityConfig extends WebSecurityConfigurerAdapter { @Autowired private ClientDetailsService clientDetailsService; @Autowired private UserDetailsService userDetailsService; @Resource private DataSource dataSource; @Override protected void configure(AuthenticationManagerBuilder auth) throws Exception { auth.userDetailsService(userDetailsService); } @Override protected void configure(HttpSecurity http) throws Exception { http.sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELE SS).and().csrf().disable(); http.authorizeRequests().antMatchers("/oauth/token").permitAll(); http.authorizeRequests().antMatchers("/api/get_address_list").permitAll(); http.authorizeRequests().anyRequest().authenticated().and().httpBasic().realmNam e("CRM_REALM"); } Phụ lục Xây dựng hệ thống báo cáo ngày @Override @Bean public AuthenticationManager authenticationManagerBean() throws Exception { return super.authenticationManagerBean(); } @Bean @Primary public JdbcTokenStore tokenStore() { return new JdbcTokenStore(dataSource); } @Bean @Autowired public TokenStoreUserApprovalHandler tokenStore) { userApprovalHandler(TokenStore TokenStoreUserApprovalHandler TokenStoreUserApprovalHandler(); handler = new handler.setTokenStore(tokenStore); handler.setRequestFactory(new DefaultOAuth2RequestFactory(clientDetailsService)); handler.setClientDetailsService(clientDetailsService); return handler; } @Bean @Autowired public ApprovalStore approvalStore(TokenStore tokenStore) { TokenApprovalStore store = new TokenApprovalStore(); store.setTokenStore(tokenStore); return store; } @Bean public PasswordEncoder passwordEncoder() { Phụ lục Xây dựng hệ thống báo cáo ngày return new BCryptPasswordEncoder(); } @SuppressWarnings({ "rawtypes", "unchecked" }) @Bean public FilterRegistrationBean corsFilter() { CorsConfiguration config = new CorsConfiguration(); config.setAllowCredentials(true); config.addAllowedOrigin("*"); config.addAllowedHeader("*"); config.addAllowedHeader("Accept"); config.addAllowedHeader("Accept-Language"); config.addAllowedHeader("Content-Language"); config.addAllowedHeader("Content-Type"); config.addAllowedHeader("responseType"); config.addAllowedHeader("Access-Control-Allow-Headers"); config.addAllowedMethod("*"); config.addExposedHeader( "Content-Disposition, Access-Control-Expose-Headers, Authorization, xxsrf-token, Access-Control-Allow-Headers, Origin, Accept, X-Requested-With, Content-Type, Access-Control-Request-Method, Custom-Filter-Header"); UrlBasedCorsConfigurationSource UrlBasedCorsConfigurationSource(); source = new source.registerCorsConfiguration("/**", config); FilterRegistrationBean CorsFilter(source)); bean = new FilterRegistrationBean(new bean.setOrder(0); return bean; } } Phụ lục Xây dựng hệ thống báo cáo ngày AuthorizationServerConfig @Configuration @EnableAuthorizationServer public class AuthorizationServerConfig AuthorizationServerConfigurerAdapter { private static String REALM = "CRM_REALM"; extends @Autowired private DataSource dataSource; @Autowired private TokenStore tokenStore; @Autowired private UserApprovalHandler userApprovalHandler; @Autowired @Qualifier("authenticationManagerBean") private AuthenticationManager authenticationManager; @Autowired private OAuthUserDetailsService crmUserDetailsService; @Override public void configure(ClientDetailsServiceConfigurer clients) throws Exception { clients.jdbc(dataSource); } @Override public void configure(AuthorizationServerEndpointsConfigurer throws Exception { endpoints) endpoints.tokenStore(tokenStore).userApprovalHandler(userApprovalHandler).au thenticationManager(authenticationManager) userDetailsService(crmUserDetailsService); } @Override public void configure(AuthorizationServerSecurityConfigurer throws Exception { oauthServer.realm(REALM); } } oauthServer) CorsFilterOncePerRequestFilter @Component @Order(Ordered.HIGHEST_PRECEDENCE) public class CorsFilterOncePerRequestFilter extends OncePerRequestFilter { @Override Phụ lục Xây dựng hệ thống báo cáo ngày protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException { response.setHeader("Access-Control-Allow-Origin", "*"); response.setHeader("Access-Control-Allow-Methods", "PUT, POST, GET, OPTIONS, DELETE"); response.setHeader("Access-Control-Max-Age", "3600"); response.setHeader("Access-Control-Allow-Credentials", "true"); response.setHeader("Access-Control-Allow-Headers", "Origin,Accept,X-Requested-With,Content-Type,Access-ControlRequest-Method,Access-Control-Request-Headers,Authorization, Access-ControlExpose-Headers"); response.setHeader("Access-Control-Allow-Headers", "*"); response.setHeader("Access-Control-Expose-Headers", "ContentDisposition"); if (request.getMethod().equals(HttpMethod.OPTIONS.name())) { response.setStatus(HttpStatus.NO_CONTENT.value()); } else { filterChain.doFilter(request, response); } } } OauthUserDetails public class OauthUserDetails implements UserDetails { private static final long serialVersionUID = 1L; private Collection authorities; private String password; private String email; private UserLogin user; public OauthUserDetails(UserLogin user) { this.email = user.getEmail(); this.password = user.getPassword(); this.authorities = translate(user.getRoles()); this.user = user; } private Collection translate(List roles) { List authorities = new ArrayList(); for (UserRoleResponse role : roles) { authorities.add(new SimpleGrantedAuthority("ROLE_" + role.getRole())); } return authorities; } public Collection getAuthorities() { return this.authorities; } Phụ lục Xây dựng hệ thống báo cáo ngày public String getPassword() { return this.password; } public String getUsername() { return this.email; } public boolean isAccountNonExpired() { return true; } public boolean isAccountNonLocked() { return true; } public boolean isCredentialsNonExpired() { return true; } public boolean isEnabled() { return true; } public UserLogin getUser() { return user; } public void setUser(UserLogin user) { this.user = user; } } Phụ lục ... xuất Người dùng đăng xuất khỏi hệ thống Quản lý dự án Quản lý dự án Xem dự án Xem dự án Quản lý cơng việc/vấn đề Quản lý cơng việc (quản lý với người dùng quản lý) Xem công việc/vấn đề Người... ra, làm để xây dựng hệ thống cho người sử dụng báo cáo cập nhật thơng tin dự án Qua vấn đề đó, em xây dựng hệ thống cho người dùng thành viên, quản lý dự án quản trị viên quản lý hệ thống Mỗi đối... Lầu Xây dựng hệ thống quản lý dự án Dựa yếu tố mục tiêu em đặt đề tài xây dựng hệ thống báo cáo ngày mà qua tổ chức hay cơng ty sử dụng công cụ để quản lý thời gian tiến độ thông tin dự án triển

Ngày đăng: 24/05/2021, 20:45

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w