Mơ hình đối tượng, vấn đề mã an tồn với WSS và SPS

Một phần của tài liệu công nghệ sharepoint và ứng dụng (Trang 57)

3.2. SharePointPortalServer 2003

3.2.4. Mơ hình đối tượng, vấn đề mã an tồn với WSS và SPS

3.2.4.1. Mơ hình đối tượng

WSS và SPS có các mơ hình đối tượng của riêng chúng. Mơ hình đối tượng của WSS cho phép ta phát triển các ứng dụng quản trị có thể tạo ra và quản lý các máy chủ ảo, các tập hợp site, các site, các workspace, và các người dùng. Ta cũng có thể sử dụng mơ hình đối tượng của WSS để thiết kế và thi hành các ứng dụng hướng đến người dùng để quản lý các danh sách, các thư viện tài liệu, cũng như là các mục trong các danh sách, các thư viện tài liệu này. Mơ hình đối tượng của SPS cho phép ta lập trình tính tốn các Area và các Listing và tự động hóa các đặc điểm khác như dịch vụ tìm kiếm. Hơn thế nữa, vì các SPS site là sự mở rộng của công nghệ WSS, nên SPS cũng có thể tạo ra và sử dụng mơ hình đối tượng của WSS.

WSS và SPS đưa các mơ hình đối tượng của chúng dưới dạng DLL hoặc Web Services. Vì vậy, khi lập trình với các đối tượng WSS dùng thư viện lớp , ta phải thêm 1 tham chiếu đến Microsoft.SharePoint.dll. Nếu muốn lập trình dựa vào đối tượng WSS sử dụng Web services, ta phải thêm một tham chiếu Web tới một trong các dịch vụ Web đã được xây dựng sẵn, ví dụ http://ServerName/_vti_bin/Lists.asmx.

Có vài điểm cần lưu ý khi quyết định sử dụng thư viện lớp hoặc Web Services. Các thư viện lớp dễ dàng sử dụng hơn và chúng cung cấp nhiều đặc điểm hơn. Tuy nhiên, một ứng dụng sử dụng một trong các thư viện DLL chỉ có thể chạy trên 1 hệ thống máy chủ triển khai WSS hoặc SPS. Lập trình với mơ hình đối tượng

WSS và SPS sử dụng Web services không cung cấp nhiều chức năng và thường phải lập trình dưới thuật ngữ của XML. Tuy nhiên, nếu ta xây dựng ứng dụng sử dụng Web services, nó có thể chạy trên máy để bàn của người quản trị, hoặc thậm chí trên máy xách tay của người dùng. Vấn đề tổng thể sử dụng các Web services xây dựng sẵn là nó cho phép ta viết các ứng dụng giao tiếp với 1 hệ thống WSS hoặc SPS thông qua môi trường mạng.

Lớp GlobalAdmin có vai trị như một “điểm vào” của hệ thống triển khai WSS. Ta có thể sử dụng đối tượng GlobalAdmin để liệt kê thông qua các máy chủ ảo, các tập hợp site và các site trong hệ thống WSS. Sau đó trong mỗi site ta có thể kiểm tra các danh sách , thư mục tài liệu, người dùng, và các site con của nó

Sau đây là các khơng gian tên trong mơ hình đối tượng của WSS, ta có thể sử dụng mơi trường VS .NET để phát triển ứng dụng với các đối tượng này:

Các lớp Gói Mơ tả

Microsoft.HtmlTrans . Interface

Microsoft.HtmlTrans. Interface.dll

Cung cấp một giao diện cho các ứng dụng tùy biến mà đưa các tài liệu dạng HTML tới người dùng khơng có ứng dụng đó chạy trên máy khách

Microsoft.SharePoint Microsoft.SharePoint.dll Cung cấp các kiểu và các hàm để làm việc với các site mức trên cùng và các site con hoặc các List.

Microsoft.SharePoint . Administration

Microsoft.SharePoint.dll Cung cấp các kiểu và các hàm quản trị để

quản lý một hệ thống Windows SharePoint Services.

Microsoft.SharePoint . ApplicationPages

Microsoft.SharePoint.dll Kiểu và hàm của không gian tên này hỗ trợ Microsoft Windows SharePoint Services và không được sử dụng trực tiếp trong code .

Microsoft.SharePoint . ApplicationRuntime

Microsoft.SharePoint.dll Kiểu và hàm của không gian tên này hỗ trợ Microsoft Windows SharePoint Services và không được sử dụng trực tiếp trong code .

Microsoft.SharePoint . Dsp

Microsoft.SharePoint.Dsp.dll Cung cấp lớp cơ sở cho dịch vụ thu nhận dữ liệu sử dụng trong Microsoft Windows SharePoint Services. Microsoft.SharePoint .Dsp.OleDb Microsoft.SharePoint.Dsp. OleDb.dll Cung cấp dịch vụ thu nhận dữ liệu để thực hiện các truy vấn lại với nguồn dữ liệu OLE DB

Microsoft.SharePoint .Dsp.SoapPT Microsoft.SharePoint.Dsp. SoapPT.dll Cung cấp dịch vụ thu nhận dữ liệu để thực hiện các truy vấn xuyên qua với các dịch vụ Web

Microsoft.SharePoint .Dsp.Sts Microsoft.SharePoint.Dsp.Sts. dll Cung cấp dịch vụ thu nhận dữ liệu để thực hiện các truy vấn với các site, list, và thư viện tài liệu trong Microsoft Windows SharePoint Services. Microsoft.SharePoint .Dsp.XmlUrl Microsoft.SharePoint.Dsp. XmlUrl.dll Cung cấp dịch vụ thu nhận dữ liệu để rhực hiện các truy vấn với các nguồn dữ liệu XML.

Microsoft.SharePoint .Library

Microsoft.SharePoint.Library. dll

Kiểu và hàm của không gian tên này hỗ trợ Microsoft Windows SharePoint Services .

Microsoft.SharePoint .Meetings

Microsoft.SharePoint.dll Cung cấp kiểu và hàm đưcợ dùng để tùy biến Meeting Workspace sites.

.Security .dll truy cập code và lớp thuộc tính được thiét kế để bảo vệ tài nguyên và thao tác, ví dụ như truy cập vào mơ hình đối

tượng Windows

SharePoint Services, khả năng ch phép ghi khơng an tồn trên lệnh HTTP Gets, và cho phép kết nối các Web Part.

Microsoft.SharePoint .SoapServer

Microsoft.SharePoint.dll Chứa các lớp thi hành Windows SharePoint Services Web Service và Web services để làm việc với Web Part pages và Web Parts. Trong hầu hết các trường hợp, hàm của lớp này được thiết kế để gọi từ xa từ các ứng dụng máy khách

Microsoft.SharePoint .Utilities

Microsoft.SharePoint.dll Cung cấp các tiện ích mã hóa xâu và xử lý thông tin người dùng.

Microsoft.SharePoint .WebControls

Microsoft.SharePoint.dll Cung cấp các điều khiển phía máy chủ được dùng trên site và các trang danh sách trong SharePoint site.

Microsoft.SharePoint .WebPartPages

Microsoft.SharePoint.dll Cung cấp các lớp, giao diện, và hàm cho việc tạo các Web Part và các trang Web Part

Bảng 3.4: Các khơng gian tên trong mơ hình đối tượng của SharePoint

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 quyền của riêng nó. Code access security dễ dàng điều khiển một

assembly đơn bằng cách gán cho assembly đó một tên xác thực (theo kiểu strongly 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 người quản trị cấu hình chính sách bảo mật

 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ử dụng trình duyệt để đưa thêm vào hoặc cấu hình lại hay loại bỏ các Web Part.

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

 Tạo ra một lớp cơ sở cho các Web Part khác kế thừa

 …

Sau đây ta sẽ làm rõ thêm một số khái niệm trong công nghệ Web Part

3.3.1.1. Web Part

Web Part là những thành phần “cắm vào là chạy” có khả năng tùy biến, trao các thông tin cho người làm việc để tạo ra giao diện người dùng chỉ đơn giản bằng cách kéo thả chúng vào trong một trang Web. Các Web Parts cho phép tùy biến cả trong lúc thiết kế lẫn lúc thực thi. Nó là một đơn vị thông tin để xây dựng nên các trang Web Part. Ngồi các thư viện Web Part có sẵn trên mạng, người dùng có thể tự tạo cho mình các Web Part phục vụ các mục đích khác nhau bằng cách sử dụng Microsoft Visual Studio .NET. Web Part cũng tương tự như khái niệm Portlet trong Java. Tất cả các lớp Web Part đều được kế thừa từ lớp cơ sở WebPart. Ta có thể tạo và dùng Web Part vào các mục đích sau:

 Kết nối các Web Part lại với nhau để chia sẻ dữ liệu

 Tương tác với các đối tượng trong Microsoft SharePoint Products and Technologies. Ví dụ tạo một Web Part để lưu tài liệu vào trong thư viện tài liệu của SPS 2003

 Kết nối cơ sở dữ liệu

Tạo ra các Web Part cũng tương tự như tạo các điều khiển ASP.NET, tuy nhiên điểm khác biệt so với các điều khiển ASP.NET phải đưa vào trang web tại thời điểm thiết kế, Web Part đưa vao trang web tại thời điểm thực thi. Các điều khiển ASP.NET được kế thừa từ lớp System.Web.UI.WebControls.WebControl,

còn các Web Part được kế thừa từ

Microsoft.SharePoint.WebPartPages.WebPart.

3.3.1.2. Web Part Pages

Web Part Pages thực chất là một dạng đặc biệt của trang ASP.NET được xây dựng bởi những khối dữ liệu dựa trên nền WSS để thực hiện các Web Site. Một Web Part Pages chứa trong nó một hoặc nhiều các Web Parts hoặc các phần tử HTML hoặc ASP.NET khác. Một Web site thông thường bao gồm một hoặc nhiều trang Web, một WSS site cũng giống như vậy, nó sẽ bao gồm một hoặc nhiều trang

Web Part Pages. Trong IIS và trong .NET framework thì một Web Part Page xuất hiện cũng tương tự như các trang .aspx khác. Tuy nhiên với các trang Web Part

Pages thì có một vài thuộc tính cũng như một vài đặc điểm tích hợp với WSS nên cho phép nó như là một thùng chứa các Web Part. Các Web Part trong một Web Part Page được tổ chức trong các vùng gọi là Web Part Zones, hình vẽ sau minh họa các thành phần trong một Web Part Page:

Hình vẽ 3.15: Cách tổ chức một WSS Web site

Có một vài ngoại lệ đối với tổ chức phân cấp ở trên, chẳng hạn một Web Part trong Web Part Page có thể nằm ngồi bất cứ Web Part Zone nào và chúng được gọi là Web Part tĩnh (Static Web Part), hoặc có thể có các điều khiển ASP.NET xuất hiện trong các Web Part Page, hoặc có thể có các Web Part xuất hiện trong những trang không phải là Web Part Page.

Web Part Page chứa các dữ liệu như: danh sách, bảng biểu, và các nội dung

Web thông thường (văn bản, hình ảnh). Mỗi Web Part Page chứa các vùng Web Part (zone). Mỗi vùng này lại chứa 1 hay nhiều các Web Part.

Ta có thể tạo các Web Part Page từ Microsoft Windows SharePoint Services:

 Cách thông thường nhất là tạo Web Part Page trên form New Web Part Page của SharePoint Portal Server 2003

 Hoặc sử dụng Microsoft Office FrontPage 2003.

Lớp WebPartPage, kế thừa từ System.Web.UI.Page , là lớp cơ sở cho mọi trang Web Part. Mỗi đối tượng Web Part Page được tạo ra đều có một URL kết thúc bằng đuôi .aspx trên máy chủ SharePoint.

3.3.1.3. Môi trường cho các trang Web Part

Web Part Page và cơ sở hạ tầng Web Part (Web Part infrastructure) là một phần của nền tích hợp Microsoft Windows SharePoint Services. Một trong những yêu cầu hệ thống của Windows SharePoint Services là hệ điều hành Microsoft Windows Server 2003. Thêm vào đó, ta phải cài đặt và cấu hình Microsoft Internet Information Services (IIS) và ASP.NET trước khi cài Windows SharePoint Services. Khi cài Windows SharePoint Services, nó tạo ra và cấu hình một máy chủ ảo tên là SharePoint Central Administration. Nếu ta cài đặt Windows SharePoint

Services trên một máy chủ đơn, nó sẽ tự động triển khai vào Web site mặc định trong IIS.

Các nhà phát triển công nghệ SharePoint giờ đây chỉ cần biết một công nghệ giao diện người dùng (các trang web và các điều khiển ASP.NET), một công nghệ lưu trữ (Microsoft SQL Server) và một mơ hình đối tượng SharePoint để tạo ra các giải pháp chia sẻ với SharePoint. Ta có thê dùng mơ hình đối tượng của Windows SharePoint Services trong các mã chạy trên máy chủ để truy cập và làm việc với các Web Parts. Mơ hình đối tượng này tích hợp sâu với Microsoft ASP.NET do đó ta có thể làm việc với Microsoft Visual Studio .NET để tùy biến các Web Parts theo mục đích sử dụng trong hệ thống triển khai Windows SharePoint Services.

Có nhiều cách để tạo và chỉnh sửa một trang Web Part

 Phương pháp thông thường nhất để tạo một trang Web Part là thông qua dạng New Web Part Page. Sau khi sử dụng dạng này, ta có thể thiết kế trang trên trình duyệt. Khi muốn duyệt trang này, ta chỉ cần đóng thanh cơng cụ

 Dùng một bộ chỉnh sửa HTML tương thích với Windows SharePoint Services, ví dụ FrontPage 2003, ta có thể tạo các chỉnh sửa nâng cấp cho một trang Web Part, bao gồm: tùy biến chủ đề của trang, chỉnh sửa mẫu trang, tùy biến sắp xếp trong trang, chỉnh sửa thuộc tính của các vùng, thêm các điều khiển,…

 Sử dụng môi trường lập trình tương thích với Windows SharePoint Services ví dụ như Microsoft Visual Studio .NET, lập trình viên có thể khai thác các đặc điểm của ASP.NET. Một trang Web Part Page đơn giản chỉ là một trang ASP.NET (.aspx), và các Web Parts là các

Một phần của tài liệu công nghệ sharepoint và ứng dụng (Trang 57)

Tải bản đầy đủ (PDF)

(107 trang)