2012-10-09 52 views
6

Tôi đang sử dụng xác thực biểu mẫu và khởi chạy một trang web từ Visual Studio 2010. Nó đang sử dụng Visual Studio Development (web) Server chứ không phải IIS. Web.config có:Tại sao người dùng web được xác thực thông qua NTLM?

<authenticaion mode="Forms"> 
    <forms name=".MyApp" protection="All" cookieless="UseCookies"/> 
</authentication> 

Trang đăng nhập đang sử dụng điều khiển đăng nhập ASP.NET. Trước khi người dùng đăng nhập, tôi có thể thấy như sau:

HttpContext.Current.Request.LogonUserIdentity.AuthenticationType == "NTLM" 
HttpContext.Current.User.Identity == System.Security.Principal.GenericIdentity 
HttpContext.Current.User.Identity.AuthenticationType == "NTLM" 

Người dùng này dường như được xác thực là người dùng hệ thống cục bộ chứ không phải người dùng web. Điều này không có nghĩa là người dùng sẽ luôn được xác thực, bất kể họ có đăng nhập vào trang web hay không?

NTLM của người dùng web như thế nào?

+0

Thiết lập xác thực của bạn trong IIS trông như thế nào? – Erix

+0

'Request.LogonUserIdentity' đại diện cho IIS đang được chạy như thế nào. –

+0

@Erix: Như đã đề cập ở trên, tôi không sử dụng IIS. – 4thSpace

Trả lời

2

Theo như tôi biết thì cassini không hỗ trợ xác thực Windows.

Chạy của nó dưới dạng tài khoản hệ thống cục bộ và đó là những gì bạn thấy là NTLM được xác thực.

Nếu bạn đang phát triển/gỡ lỗi các tính năng bảo mật cho ứng dụng Asp.Net (hoặc WCF), tôi khuyên bạn nên triển khai IIS.

+0

Các bạn (và @EdSF) đều đăng những câu trả lời tương tự. Không chắc chắn ai sẽ chấp nhận. – 4thSpace

1

Nếu tôi không nhầm bạn đang thấy yourselfUser (đang được xác thực) đang chạy Visual Studio (trong ngữ cảnh người dùng của bạn) khi bạn đang gỡ lỗi bằng cách sử dụng VS và máy chủ dev của nó.

Visual Studio chạy trong ngữ cảnh của bạn (bạn tài khoản người dùng Windows/quyền, vv) - Request.LogonUserIdentity.User

Nó không ảnh hưởng đến gỡ lỗi bạn của Web Forms/Forms Authentication. Sau khi đăng nhập Biểu mẫu xác thực thành công, bạn có thể có được HttpContext.User.Identity.Name của "biểu mẫu người dùng xác thực" (người dùng web).

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