Share Code Web - Chia sẻ niềm đam mê bất tận > Lập trình > ASP/ASP.Net > Phân quyền cho user trong asp.net 4.0
Phân quyền cho user trong asp.net 4.0
Nguyễn Trung Hiếu
Share Code Web Company 2013

Phân quyền cho user trong asp.net 4.0

Viết bài chia sẻ theme và tuts cho wordpress nhiều rồi, giờ cũng tập tành thử nhẩy sang lĩnh vực bảo mật một xíu xíu thôi xem thế nào nhé.

Chủ để này mình đã thấy có bạn tìm kiếm và hỏi mình, cho nên mình bắt đầu bằng chủ đề này luôn nhỉ: Phân quyền cho user trong asp.net 4.0. Cụ thể, là tùy vào quyền của user mình sẽ cho truy cập một số trang nhất định mà thôi. OK!

Đầu tiên là phải tạo trang Defaul.aspx cái đã

Để thực hành được bài này, bạn cần phải tạo một cái “trang chủ” trong đó có chứa form dùng để đăng nhập dành cho user như sau:

  • 1.Kéo thả một HyperLink Control vào Web Form.
  • 1.1. Thay đổi thuộc tính Text của HyperLink thành ‘Admin Page’.
  • 1.2. Thay đổi thuộc tính NavigateUrl của HyperLink thành ‘Secure/Admin.aspx’.
  • 2. Mở tab Login trong Toolbox
    phân quyền cho user trong asp.net
  • 3. Kéo thả một Login Control xuống dưới link Admin Page.

Tạo trang Admin.aspx

Tiếp theo chúng ta sẽ tạo một trang là admin.aspx, trang này sẽ được bảo mật, và chỉ những user có quyền admin mới có thể truy cập được. Để làm được điều này, bạn làm theo các bước sau:

  • 1. Click vào biểu tượng ASP.NET Configuration trong phần Solution Explorer để mở ASP.NET Website Administration Tool.
  • 2. Trong ASP.NET Website Administration Tool chọn thẻ Security.
  • 3. Click Enable roles.
  • 4. Click Create or Manage roles
    enable roles in asp.net
  • 5. Gõ ‘Administrator’ trong phần tên Role và click Add Role.
  • 6. Gõ ‘User’ trong phần tên Role và click Add Role.

Đến đoạn này, bạn phải phân quyền cho 2 loại user là Administrator và User tùy thuộc theo Role bạn đã add bên trên.

Tiến hành phân chia quyền lực :))

Để phân chia quyền lực cho 2 loại user này, chúng ta làm các bước như sau

  • 1. Vẫn vào thẻ Security trong Asp.net website administrator tool
  • 2. Bên dưới Access Rules click chọn Manage access rules.
  • 3. Bên dưới Manage access rules click chọn Sercurity folder.
  • 4. Click new access rules.
  • 5. Bạn phải chắc chắn rằng Role được chọn là Administrator đã được chọn trong cái dropdownlist nó xuất hiện ấy.
  • 6. Bên dưới Permission chọn Allow.
  • 7. OK!
  • 8. Click new access rules
  • 9. Làm lại thao tác giống bước 5
  • 10. Bên dưới Permission chọn Deny
  • 11. OK!

Vậy là bạn đã tiến hành phân quyền cho từng user một, với user có quyền administrator sẽ được phép truy cập thư mục Security bên trên.

Tạo thử một user

Ở giai đoạn này, chúng ta sẽ tạo thử user với 2 loại Role mà chúng ta vừa tạo.

  • 1. Trong ASP.NET Website Administration Tool chọn thẻ Security.
  • 2. Bên dưới Users header chọn kiểu Select authentication type.
  • 3. Chọn từ Internet và click Done.
  • 4. Click Create user.
  • 5. Tạo một user mới có tên gọi “Admin”, và bạn phải chắc chắn rằng quyền của user này là Administrator phải được chọn nhé
    create user with permission in asp.net
  • 6. Tương tự như vậy với user có tên “User”.

Téc cái nào

Bây giờ chúng ta sẽ tiến hành kiểm tra xem hư thực thế nào nhé. Build và chạy thử project này lên xem nào.

  • 1. Click vào link Admin Page. Lúc này sẽ xuất hiện một chú ý nói rằng chúng ta không thể truy cập vào đây vì chúng ta chưa đăng nhập
  • 2. Quay trở lại trang Default.aspx.
  • 3. Tiến hành đăng nhập với tài khoản “User” mà chúng ta đã tạo.
  • 4. Click vào link Admin Page. Một chú ý lại xuất hiện, thông báo chúng ta không thể truy cập vì không phải là administrator.
  • 5. Quay trở lại trang Default.aspx.
  • 6. Đăng nhập với tài khoản “Admin” mà chúng ta đã tạo.
  • 7. Click vào link Admin Page. Lúc này có một thông báo là chúng ta đã đăng nhập thành công.

Code default.aspx

Code Admin.aspx

Download code

Vậy là bạn đã làm xong thao tác phân quyền cho từng loại user dựa vào việc phân quyền cho folder nằm trên host rồi đấy. Ngoài ra, sharecodeweb.net đã đăng một bài viết hướng dẫn phân quyền theo link truy cập trong asp.net hoặc bài viết về cách tự redirect user tới một trang mặc định theo quyền rồi nhé. Hy vọng đây sẽ là bài viết bổ ích cho project của bạn. Nếu bạn nào không làm được, có thể tham khảo mẫu code bên dưới nhé.

Related Posts

Tác giả: Nguyễn Trung Hiếu

Một blogger ... cùi bắp! Đơn giản: tôi muốn ghi lại những gì xảy ra xung quanh, cả công việc lẫn cuộc sống và chia sẻ với các bạn đọc. Nếu bạn cảm thấy bài viết có nhiều điểm không chính xác, hãy comment và chia sẻ để tôi còn được học hỏi từ những góp ý của bạn. Email: hieunt.dcn@gmail.com

http://sharecodeweb.net/?s={search_term_string}