3.2.4 .Mơ hình đối tượng, vấn đề mã an tồn với WSS và SPS
3.2.4.2 .Vấn đề bảo mật với mã truy cập
Như trên đã trình bày, ta có thể phát triển ứng dụng bằng cách sử dụng mơ hình đối tượng của SharePoint, tuy nhiên các thư viện lớp này sử dụng một cơ chế bảo mật đối với mã truy cập nhằm bảo vệ các nguồn tài nguyên của hệ thống khi thực thi chương trình nhằm tránh khỏi các mối đe dọa nguy hiểm, ta gọi cơ chế này là “Code Access Security”. Cơ chế này được tạo ra nhờ sự kế thừa các đặc tính của ASP.NET và sử dụng nó để điều khiển truy cập tới các nguồn tài nguyên cũng như các thao tác xử lý đã được bảo vệ. Các đặc tính “code access security” của ASP.NET giúp ta đăng ký với các ứng dụng WSS một mức cấu hình về độ tin cậy (tương tự như việc định nghĩa ra trước một tập các quyền). Trong WSS, để cho phép người quản trị dễ dàng chuyển đổi các mức bảo mật đối với một ứng dụng, nó đã bao gồm các file chính sách bảo mật mặc định của ASP.NET cũng như các file chính sách
name) và người quản trị cũng có thể kết hợp nhiều chính sách quyền cho một ứng dụng bằng cách cấu hình file web.config của ứng dụng đó.
Code access security cho phép các đoạn mã trình trở nên đáng tin cậy dưới nhiều góc độ, nó cũng làm cho có hiệu lực đối với nhiều mức độ tin cậy khác nhau của mã chương trình – điều này sẽ giảm thiểu số lượng mã chương trình cần được cấp đầy đủ tính tin cậy để thực thi. Sử dụng code access security cũng cho phép giảm thiểu khả năng một kẻ ác ý nào đó sử dụng các đoạn mã nguy hiểm để phá hoại hệ thống, nó cũng giúp giảm thiểu các “trách nhiệm pháp lý” cho người phát triển bởi vì ta có thể đặc tả ra một tập các thao tác mà một đoạn mã có thể được thực hiện cũng như các thao tác mà đoạn mã đó sẽ khơng bao giờ được thực hiện. Code access security cũng giúp giảm thiểu các nguy cơ bắt nguồn từ những sơ hở về bảo mật trong chính đoạn mã trình đó.
Code access security là một cơ chế nhằm điều khiển truy cập tới các nguồn tài nguyên cũng như các thao tác xử lý đã được bảo vệ thơng qua mã trình. Trong Windows SharePoint Services, code access security thực hiện các chức năng chính sau:
Định nghĩa ra các quyền cũng như tập các quyền để cho phép truy cập tới các nguồn tài nguyên phong phú của hệ thống.
Cho phép các đoạn mã trình yêu cầu các quyền để thực thi chương trình
Cấp phát quyền cho mỗi assembly khi nó được tải vào
Cho phép mã trình u cầu người gọi nó phải có quyền hợp pháp
…
Để quyết định một đoạn mã có hay khơng tính xác thực để truy cập tới các nguồn tài nguyên hay thực thi các thao tác nào đó thì hệ thống bảo mật lúc thực thi sẽ “đi bộ” qua lời gọi ngăn xếp, nó so sánh quyền được câp phát cho mỗi lời gọi với quyền mà nó cần để được thực thi; nếu bất cứ lời gọi nào trong ngăn xếp mà khơng có quyền như u cầu thì một ngoại lệ sẽ được ném ra và quá trình truy cập bị từ chối. Nắm rõ về code access security là rất quan trọng trong việc phát triển ứng dụng bằng mơ hình đối tượng của SharePoint cũng như trong việc phát triển các Web Parts (sẽ được nói đến ở các chương sau).
3.3. Cơng nghệ Web Part
3.3.1.Tổng quan
Web parts trong Windows SharePoint Services cung cấp cho các nhà phát triển một cách thức để tạo ra các giao diện người dùng với đặc điểm có thể tùy biến và cá nhân hóa. Người sở hữu site hoặc một thành viên của site với một quyền thích hợp có thể tùy biến các Web Part Pages bằng cách sử
Thuật ngữ “tùy biến” (customization) ở đây có nghĩa là đưa đến sự thay đổi mà có thể được nhìn thấy bởi tất cả các thành viên của site. Một người dùng có thể cá nhân hóa cao độ các trang Web Part Pages bằng cách thêm vào, cấu hình lại hoặc loại bỏ các Web Part. Thuật ngữ “cá nhân hóa” (personalization) ở đây có nghĩa là những thay đổi này chỉ có thể nhìn thấy bởi chính người tạo ra nó. Phát triển các Web Parts cung cấp một cách đơn giản nhưng đầy sức mạnh để mở rộng các trang WSS. Sau đây là một vài trường hợp mà ta có thể sử dụng các Web Part:
Tạo ra một thuộc tính tùy biến để có thể hiển thị và chỉnh sửa giao diện người dùng
Một Web Part đã được biên dịch sẽ chạy nhanh hơn một đoạn mã
Script, mặt khác với Web Part ta có thể khơng cần công bố mã nguồn Bảo mật và điều khiển truy nhập đến nội dung bên trong Web Part Thực hiện các Web Part có khả năng kết nối với nhau
Tương tác với các đối tượng được đưa ra bởi WSS (chẳng hạn ta có thể viết một Web Part để lưu trữ các tài liệu vào trong thư viện tài liệu của WSS)
Điều khiển lưu trữ cho Web Part bằng cách sử dụng các công cụ dựa trên lưu trữ (buit-in cache tools)
Sử dụng các tiện ích với mơi trường phát triển phong phú cũng như chế độ gỡ lỗi trong Visual Studio .NET
…
Sau đây ta sẽ làm rõ thêm một số khái niệm trong công nghệ Web Part