2010-09-17 38 views
6

Tôi luôn đọc rằng người dùng bạn đặt trong thư mục ảo/trang web IIS là người dùng chạy ứng dụng (danh tính người dùng ẩn danh)người dùng nào chạy người dùng asp.net của tôi?

Nhưng trong nhóm ứng dụng, tôi cũng có thể đặt người dùng (mô hình xử lý , danh tính)

sự khác nhau giữa hai yếu tố đó và cái nào sẽ cần truy cập nếu tôi đọc một tệp?

EDIT:

bounty là dành cho quesyion này 'nhưng nếu tôi sử dụng 'xác thực nặc danh', là người sử dụng tôi chọn trong 'nhận dạng người dùng' vô danh từng được sử dụng? - 'được đăng dưới dạng nhận xét

Trả lời

2

Hãy nghĩ đến số nhận dạng trang web làm quy tắc xác định ai có thể truy cập trang web. Nếu bạn chỉ định tài khoản ẩn danh để sử dụng, tài khoản đó phải có quyền truy cập vào trang web. Nếu truy cập ẩn danh bị tắt, thì thông tin đăng nhập của người dùng phải có quyền truy cập vào thư mục.

nhận dạng hồ bơi ứng dụng xác định ứng dụng có thể làm gì. Quy trình công nhân của hồ bơi ứng dụng sẽ chạy bằng cách sử dụng danh tính của hồ bơi ứng dụng; tài khoản đó phải được cấp quyền truy cập vào bất kỳ tài nguyên nào (SQL Server, chia sẻ tệp, v.v) mà ứng dụng sẽ cần truy cập.

Để trả lời câu hỏi của bạn: có, tài khoản ẩn danh được sử dụng. Hãy nghĩ về kịch bản mà bạn đang lưu trữ một trăm trang web và bạn không muốn các tệp của một khách hàng có thể truy cập vào các tệp khác. Bạn sẽ chỉ định quyền truy cập ẩn danh riêng cho từng khách hàng.Tài khoản ẩn danh của mỗi trang cho phép IIS chỉ truy cập các tệp có liên quan đến trang web cụ thể đó (miễn là bạn đã định cấu hình quyền truy cập của tài khoản đó một cách chính xác).

4

Thanh toán this post. Trích dẫn:

Hai tài khoản là những thứ khác nhau. Hãy suy nghĩ về nhận dạng trang web đại diện cho người dùng của trang web. Nếu bạn tạo một trang web mới, tài khoản này là tài khoản IIS ẩn danh. Nếu bạn vô hiệu hóa "Anonymous xác thực", người dùng của bạn sẽ phải xác thực chống lại các trang web (trong một intranet site miền/Windows này có thể là implicite sử dụng mạng thông tin.)

Danh tính hồ bơi ứng dụng tài khoản Windows cần thiết để chạy các hội đồng của bạn. Thông thường, tài khoản là " " Dịch vụ mạng "là tài khoản đặc quyền ít nhất có giới hạn số quyền và quyền của người dùng. Nó có có thông tin đăng nhập mạng. Điều này có nghĩa là mà bạn có thể sử dụng để xác thực đối với tài nguyên mạng trong miền. Bạn cũng có thể sử dụng nó để truy cập cơ sở dữ liệu SQL Máy chủ với bảo mật tích hợp .

Ví dụ, nếu ứng dụng ASP.NET của bạn phải viết vào một thư mục, bạn phải cấp phép tài khoản ứng dụng, chứ không phải để tài khoản website. Để biết thêm thông tin về về hồ sơ ứng dụng danh tính, hãy đọc tại đây.

+0

Tuyệt vời! Còn một câu hỏi nữa: khi nào người dùng trang web được sử dụng? Báo cáo nêu rõ danh tính của hồ bơi ứng dụng được sử dụng để truy cập tệp và máy chủ sql, nhưng khi nào người dùng trang web được sử dụng để xác thực? – Michel

+0

@Michel, hãy coi đó là cơ chế bạn quyết định sử dụng để xác thực người dùng. Nếu bạn để xác thực ẩn danh, bất kỳ ai cũng có thể truy cập trang web của bạn, nếu bạn bật xác thực cơ bản, người dùng sẽ cần phải cung cấp bằng chứng xác thực để truy cập trang web. –

+0

nhưng nếu tôi sử dụng 'xác thực ẩn danh', người dùng tôi chọn trong 'danh tính người dùng ẩn danh' có bao giờ được sử dụng không? – Michel

0

@Michel

nếu bạn có một thiết lập tài khoản truy cập Anon trên trang web của bạn (dir ảo)

VÀ bạn có

<system.web> 
    <identity impersonate="true" /> 
</system.web> 

trong web.config của bạn, điều này sẽ sử dụng danh tính mà .

nếu bạn có một phần của mã nơi bạn có thể thiết lập các thông tin

CredentialCache.DefaultCredentials

này sẽ trỏ đến các tài khoản Anon, nếu bạn muốn kiểm tra những gì người dùng mà bạn đang sử dụng thử

Thread.CurrentPrincipal.Identity.Name.ToString() 

có một cái nhìn tại bài này để biết thêm thông tin
http://blogs.iis.net/sakyad/archive/2008/11/19/process-and-thread-identity-in-asp-net-a-practical-approach.aspx

Các vấn đề liên quan