Application pool là gì

  -  
Trong phần này, chúng ta sẽ có một cái nhìn những tính năng trong IIS 6.0, tên Application Pool, và chứng minh việc sử dụng Application Pool trong việc cô lập các ứng dụng web ASP.NET, do đó làm tăng độ tin cậy của các ứng dụng web ASP.NET.

Bạn đang xem: Application pool là gì


Trong phần này, chúng ta sẽ có một cái nhìn những tính năng trong IIS 6.0, tên Application Pool, và chứng minh việc sử dụng Application Pool trong việc cô lập các ứng dụng web ASP.NET, do đó làm tăng độ tin cậy của các ứng dụng web ASP.NET. Sau đó, chúng ta sẽ tìm hiểu cách thức Application Pool ảnh hưởng đến các ứng dụng ASP.NET trong các điều khoản của danh tính được sử dụng để chạy ứng dụng ASP.NET. Cách khác, chúng ta cũng sẽ xem xét các bước tạo ra Application Pool và các ứng dụng giao ASP.NET để chạy theo Application Pool cụ thể. Cuối cùng, tôi sẽ minh họa cách cấu hình Application Pool chạy bằng cách sử dụng thông tin của tài khoản người dùng cụ thể.
Application Pool có thể chứa một hoặc nhiều ứng dụng và cho phép chúng ta cấu hình cấp độ giữa các ứng dụng web khác nhau. Ví dụ, nếu bạn muốn cô lập tất cả các ứng dụng web chạy trong cùng một máy, bạn có thể làm điều này bằng cách tạo ra Application Pool riêng biệt cho mỗi ứng dụng web và đặt chúng trong Application Pool tương ứng. Bởi vì mỗi Application Pool chạy trong quá trình làm việc riêng của mình, các lỗi trong Application Pool sẽ không ảnh hưởng đến các ứng dụng đang chạy trong Application Pool khác. Triển khai ứng dụng trong Application Pool là lợi thế chính của IIS 6.0 trong quá trình làm việc ở chế độ cách ly bởi vì bạn có thể tùy chỉnh Application Pool để đạt được cấp độ tách biệt ứng dụng mà bạn cần.
Khi bạn cấu hình Application Pool để sẵn sàng tối ưu, bạn cũng nên xem xét làm thế nào để cấu hình Application Pool bảo mật ứng dụng. Ví dụ, bạn có thể cần phải tạo ra Application Pool riêng cho ứng dụng đòi hỏi mức độ bảo mật cao, trong khi cho phép các ứng dụng đòi hỏi một mức độ thấp hơn của bảo mật để chia sẻ cùng Application Pool. Trong phần sau của bài viết này, tôi sẽ xem làm thế nào để cấu hình danh tính ở cấp Application Pool.
Tạo Application Pool mới rất đơn giản được thực hiện bằng cách sử dụng trình quản lý IIS. Khi bạn tạo ra Application Pool mới, bạn có hai lựa chọn sau:
Để tạo Application Pool mới từ đầu, nhấp chuột phải vào nút Application Pools từ danh sách, và chọn New-> Application Pool từ menu ngữ cảnh. Bạn sẽ thấy màn hình sau đây, nơi bạn cần phải nhập tên cho Application Pool.
*

Khi tạo ứng dụng mới, bạn cũng có tùy chọn kế thừa các thiết lập từ Application Pool hiện có. Ví dụ, nếu bạn muốn Application Pool mới để kế thừa các thiết lập từ DefaultAppPool, bạn có thể làm điều đó bằng cách chọn tùy chọn sử dụng Application Pool hiện tại như màn hình ở trên. Sau khi chọn tùy chọn này, Application Poolthả xuống sẽ được kích hoạt chọn Application Pool hiện có.
Sau khi pool được tạo ra, bạn có thể lưu các thiết lập của ứng dụng thành file XML bên ngoài bất cứ lúc nào bằng cách kích chuột phải vào Application Pool và chọn tùy chọn All Tasks-> Save Configuration đến tập tin có sẵn từ menu ngữ cảnh. Đây là tính năng cực kỳ hữu íchcó thể cho bạn dễ dàng tạo cùng Application Pool trên cùng một máy chủ hoặc trên máy chủ khác.

Xem thêm: Taxi Game Lái Xe Taxi 24H


Trong các phiên bản trước của IIS, quá trình chạy như LocalSystem, tài khoản có quyền quản trị hệ thống trên máy chủ. Vì LocalSystem có quyền truy cập vào gần như tất cả các tài nguyên trên hệ điều hành, điều này gây ra ảnh hưởng an ninh. Như đã đề cập trước đây, trong IIS 6.0, bạn có thể thiết lập danh tính của quá trình làm việc ở cấp Application Pool. Danh tính của Application Pool là tài khoản mà theo đó quá trình Application Pool chạy. Theo mặc định, Application Pool hoạt động theo tài khoản NetworkService, trong đó có quyền truy cập người dùng ở mức độ thấp. Tài khoản NetworkService có bảy đặc quyền sau đây:
Điều chỉnh chỉ tiêu bộ nhớ cho tiến trìnhTạo ra kiểm tra an ninhĐăng nhập như dịch vụThay thế quy trình cấp mã thông báoMạo danh khách sau khi xác thựcCho phép đăng nhập tại localTruy cập vào máy tính này từ mạng
Bằng cách chạy quá trình sử dụng tài khoản rất thấp có đặc quyền NetworkService, bạn có thể giảm lỗ hổng bảo mật. Tuy nhiên, bằng cách sử dụng quản lý IIS, bạn có thể cấu hình Application Pool chạy như bất kỳ của các tài khoản được xác định như sau:
Để cấu hình nhận dạng cho Application Pool, bấm chuột phải vào Application Pool và chọn Thuộc tính từ menu ngữ cảnh. Trong hộp thoại Thuộc tính, chọn tab Identity và bạn sẽ thấy màn hình sau.
*

Trong hộp thoại ở trên, khi bạn chọn tùy chọn Predefined, bạn có thể chọn bất kỳ các tài khoản được xác định trước từ danh sách thả xuống. Thay vì sử dụng tài khoản được xác định trước, nếu bạn muốn Application Pool của bạn chạy theo tài khoản khác, chọn tùy chọn Configurable và sau đó thiết lập User và Password. Cách tiếp cận này đặc biệt hữu ích khi bạn đang chạy nhiều ứng dụng hoặc các trang web trên một máy chủ Web. Ví dụ, nếu một Host ISP hai công ty, những người này có thể là đối thủ cạnh tranh, trên máy chủ Web, nó phải đảm bảo rằng hai ứng dụng chạy cô lập. Quan trọng hơn, các ISP có để đảm bảo rằng quản trị viên tiềm tàng của ứng dụng nào đó không thể truy cập dữ liệu của ứng dụng khác.
Để chứng minh làm thế nào để cấu hình danh tính cho Application Pool và làm thế nào ASP.NET sử dụng thông tin danh tính tại thời gian thực hiện, chúng ta sẽ tạo ra một ứng dụng ASP.NET rất đơn giản. Chúng ta sẽ bắt đầu bằng cách tạo ra một ứng dụng ASP.NET mới có tên IdentityExample bằng cách sử dụng hộp thoại New Project trong Visual Studio.NET. Sau khi dự án được tạo ra, nếu bạn mở trình quản lý IIS, bạn sẽ thấy dự án IdentityExample được tạo ra trong Application Pool mặc định tên là DefaultAppPool .
Bây giờ, chúng ta hãy thêm những dòng mã sau vào sự kiện Page_Load mặc định trên Form Web WebForm1.aspx.

private void Page_Load(object sender, System.EventArgs e){ Response.Write( "ASP.NET application executes using the identity :: " + WindowsIdentity.GetCurrent().Name + "");}
Đoạn mã trên, đơn giản tôi chỉ cho hiển thị tên của tài khoản mà ứng dụng web ASP.NET sử dụng để xử lý các dịch vụ. Nếu bạn thực thi mã bằng cách điều hướng đến các trang từ trình duyệt, bạn sẽ thấy kết quả như sau.

Xem thêm: Fire Emblem Would Be A Great Pc Series, Looking For A Fire Emblem Pc Game


*

Đầu ra ở trên chỉ củng cố thực tế là, theo mặc định, các ứng dụng web chạy bằng cách sử dụng tài khoản NetworkService. Tôi sẽ thay đổi danh tính của DefaultAppPool và sau đó nhìn vào đầu ra của ứng dụng Web. Để làm điều này, kích chuột phải vào nút DefaultAppPool từ trình quản lý IIS và chọn Properties từ menu ngữ cảnh. Trong hộp thoại Properties, điều hướng đến tab Identity và chọn tùy chọn Configurable và chỉ định tên người dùng và mật khẩu hợp lệ. Khi đã có, màn hình sẽ giống như sau.
*

*