II. Hệ quản trị nội dung sử dụng DotNet:
5. Mơ hình bảo mật:
Từ các phiên bản DotNetNuke 3.x trở về trước, Portal chỉ mang đến một giải pháp bảo mật đơn, bảo mật dựa trên form thường đi cùng với phần lõi bên trong củaDotNetNuke. Bảo mật dựa trên form thì làm việc tương đối tốt, nhưng nó giới hạnmột phần khả năng thực thi của DotNetNuke vì nó được tích hợp vào các giải pháp bảo mật khác (nên ta không thể tùy biến các mức bảo mật). Mặc dù việc xác thực củaWindows thì chẳng bao giờ được hỗ trợ cho phần lõi bên trong của DotNetNuke,nhưng những người phát triển của các hãng thứ ba đã gia tăng khả năng này để cho phép tích hợp việc xác thực của Windows vào các phiên bản từ 3.x trở xuống.
Trước khi đi sâu tìm hiểu giải pháp bảo mật của DotNetNuke trong các phiên bản hiện nay, chúng ta cần phải hiểu được ASP.NET được bảo mật như thế nào. Điều này sẽ giúp ta thấy được những thử thách mà chúng ta phải đối mặt khi thực thi các API.
5.1.Bảo mật trong Dotnetnuke 6.0:
Các thực thể ứng dụng cần được kiểm sốt. Ví dụ lõi của các thực thể Pages, Modules, và Folder. Bên kia là phía người sử dụng của ứng dụng đó cần phải được cấp xác thực để xử lý các hoạt động , ở đây chúng ta sử dụng các Roles( luật ) . Liên kết hai bên với nhau thông qua một hệ thống được gọi là quyền( vi dụ : xem , sửa , xóa....)
Từ góc độ cơng nghệ, mơ hình bảo mật trong DNN được chia ra làm 3 phần cơ bản: quyền truy nhập vào CSDL lưu trữ , lớp API business, và lớp giao diện người dùng điều khiển Web. Mỗi lớp có một vai trò quan trong trong việc cung cấp một kiến trúc bảo mật mở rộng .
29 Trong nhóm (1)là nhóm bộ lọc hiển thị, nó sẽ chỉ được hiển thị nếu bạn có nhiều tác nhân được tạo theo nhiều nhóm và tổ chức các luật bảo mật cho bạn . Các nhóm chức năng có hữu dụng cho doanh nghiệp lớn vì ở đây có rất nhiều luật cân để quản lý . Một nhóm phân quyền số (2) được kết nối đến không gian được hiển thị như các cột . Và bên dưới bạn nhìn thấy các Luật (3) theo group Select. (4) là phân quyền cho User, (5) là tên User .
Mặc định DNN chỉ cung cấp các quyền cơ bản như View và Edit cho module. Nếu bạn muốn có nhu cầu đặc biệt trong module của bạn có nhiều quyền hơn, bạn có thể thêm quyền vào. Hiện tại nó có thể thực hiện bằng cách thêm một vài đoạn script SQL khi insert module :
INSERT INTO ModulePermission(PermissionCode,ModuleDefID, PermissionKey,PermissionName)
VALUES ( 'MODULENAME', ModuleDefID, 'KEY', 'DESCRIPTION )
- Hoặc bạn có thể thơng qua đoạn mã thực thi trong phương thức UpgradeModule của giao diện IUpgradeable :
Dim pc As New=PermissionController Dim p As New=PermissionInfo
p.ModuleDefID=ModuleDefId
p.PermissionCode="MODULENAME" p.PermissionKey="KEY"
30
p.PermissionName="DESCRIPTION" pc.AddPermission(p)
Khi một quyền mới được thêm vào một module , nó sẽ tự động xuất hiện trong danh sách quyền của module ( có thể thơng qua Module Settings)