Kịch bảnCách cấu hình Web Api 2 và IIS để xác thực cơ bản?
- Tôi đã một Api Web 2.2 dịch vụ RESTful thực hiện với VS2012 C#
- Tôi đang sử dụng xác thực cơ bản với một người dùng kiểm tra tùy chỉnh/pass (hoạt động tốt)
- Một số phương pháp đã
[AllowAnonymous]
thuộc tính - Một số phương pháp đang sử dụng
[Authorize(Roles = "myRol")]
- Trong các công trình địa phương cũng như (đọc người dùng và vượt qua, kiểm tra cơ sở dữ liệu, từ chối hoặc cho phép khi nào, cho phép ano nymous khi cần, vv)
Vấn đề
Khi tôi triển khai dịch vụ trong môi trường DEV cho lần đầu tiên, tôi could'nt đăng nhập:
- Methods với AllowAnonymous trả lại
200
- Phương thức trả về bảo mật cơ bản
401
liệu(xin hỏi hoặc nhận xét cho một bản cập nhật về vấn đề này)
Đây là web.config của tôi:
<system.webServer>
<modules>
<add name="BasicAuthHttpModule" type="WebHostBasicAuth.Modules.BasicAuthHttpModule, myAssemblyName" />
</modules>
Đây là tiêu đề của tôi (nó hoạt động trong địa phương):
Authorization: Basic YXR1cG9uZTp0ZXN0
Content-Type: application/json; charset=utf-8
và đây là câu trả lời của tôi:
Status: 401 Unauthorized
liệu: {"message":"Authorization has been denied for this request."}
Tiêu đề:
Pragma: no-cache
Date: Fri, 24 Apr 2015 14:36:27 GMT
Server: Microsoft-IIS/8.0
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
Content-Type: application/json; charset=utf-8
Cache-Control: no-cache
Content-Length: 61
Expires: -1
Đây là cấu hình IIS của tôi (Nếu tôi đặt trong "trên "Xác thực cơ bản, IIS hỏi tôi thông tin đăng nhập mà tôi không có và/hoặc chúng không hợp lệ):
Câu hỏi:
Đây có phải là tốt configurated? Tôi nhớ cái gì?
Tôi làm cách nào để xem nhật ký hoặc nội dung nào đó về lỗi nội bộ của vấn đề này?
Xin cảm ơn trước.
bạn có thêm cơ sở dữ liệu vào môi trường dev không? VS Tạo một kiểu cơ sở dữ liệu nhỏ ẩn khi bạn bắt đầu một dự án với xác thực được cung cấp. Bạn cần phải đẩy cơ sở dữ liệu đến máy chủ dev. – AntoineLev
@AntoineLev Có xác thực tùy chỉnh với mô hình người dùng/rol tùy chỉnh của tôi –