Làm trang Admin tách biệt với trang User trong web SPA

Xin chào các bác,
Em làm một trang web SPA (Single Page Application) Gồm:

  • Server là web service có API trả về JSON (ASP.NET Core 5)
  • Client viết bằng reactJS gồm 2 phần : là App dành cho user thườngapp dành cho Admin.

Em phải làm sao để user bình thường vào thì chỉ tải được App dành cho user thường còn Admin Authencation xong mới tải được giao diện app dành cho Admin
Các bác chỉ em cách config và Route với! Em cảm ơn!

Trên stackoverflow người ta chỉ cách làm cho angularJS, không biết chuyển qua react sao ạ

bạn đọc xong hướng dẫn của họ có rút ra được cách mà họ làm chưa. Nếu chưa thì e rằng có là angular thì bạn vẫn không setup được đâu

4 Likes

Khoan. Nếu không có công cụ phân quyền thì bạn làm sao ?
Bạn có thể tự làm mà. User login vô sẽ có 1 token. Lưu token này dưới trình duyệt (token/session) gì đó. Sau đó mỗi lần gửi request lên bạn chứng thực user thông qua token đó.
Done rồi. Giờ làm trang bình thường và 1 trang /admin dùng cho admin chẳng hạn. Vô trang admin mà chứng thực không được cho về page 401 hay gì gì đó. Dễ mà ta ?

@hoalaxanh123 project ASP.net có 2 phần bạn, code server và clientApp, trong đó clientApp chứa toàn bộ source code phần giao diện, nếu mình để giao diện admin vào thư mục clientApp đó thì user bình thường truy cập vào home page sẽ download toàn bộ clientApp ở lần truy cập đầu tiên và trong đó sẽ có file giao diện trang admin mà user lại không dùng đến các file này. Còn phần phân quyền token phí server mình làm được rồi bạn, mình lấn cấn chỗ giao diện á, chứ không phải phần dữ liệu.

1 Like

Stack công nghệ bạn đang sử dụng, mình chưa làm bao giờ.
Nhưng bạn thử xem nó có hỗ trợ load components on demand không?

Kiểu như khi bạn truy cập vào route nào thì file javascript của component đó mới được load.
Như vậy cho dù bạn có đặt source code của cả user lẫn admin vào chung app cũng không có vấn đề gì, vì bản chất là khi cần sử dụng thì component mới được load.
Mình làm VueJS thì có tính năng này.

4 Likes

À sorry bạn. Mình sai mình sai.

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?