Hiện tại, tôi có ứng dụng web MVC bán vật dụng. Người dùng đăng nhập vào hệ thống của chúng tôi bằng cách sử dụng xác thực biểu mẫu và sau đó có thể thực hiện các chức năng khác nhau dựa trên nhóm mà họ thuộc (ví dụ: Đặt hàng, Xem đơn hàng, Hủy đơn hàng, v.v.).Xác thực WebApi .NET
Chúng tôi đã được giao nhiệm vụ viết một Api để cung cấp cho bên thứ ba khả năng tạo và xem đơn đặt hàng trong hệ thống của chúng tôi. Mỗi bên thứ ba sẽ có tên người dùng riêng và sẽ bị giới hạn ở một số phương thức api nhất định dựa trên nhóm họ thuộc về.
Chúng tôi đang xem xét việc sử dụng Api Web làm cơ chế cung cấp api. Chúng tôi cũng muốn có thể tiêu thụ api này từ ứng dụng web MVC của chúng tôi. Thật không may, chúng tôi đang gặp sự cố với Xác thực cho Web Api. Sử dụng DelegatingHandler, chúng tôi đã triển khai Xác thực cơ bản qua SSL cho WebApi của chúng tôi. Điều này làm việc tuyệt vời cho các bên thứ ba của chúng tôi. Tuy nhiên, khi cố gắng tiêu thụ Api từ ứng dụng MVC của chúng tôi, chúng tôi nhận được 401 lỗi bị từ chối vì người dùng đã được xác thực trong ứng dụng MVC bằng cách sử dụng Xác thực biểu mẫu, nhưng chúng tôi không có cách nào chuyển các thông tin đăng nhập đó tới Web Api. Có cách nào để vượt qua các thông tin xác thực biểu mẫu Auth từ ứng dụng MVC của chúng tôi để ứng dụng api Web của chúng tôi?
IIS cài đặt WebSite tên WidgetStore với hai ứng dụng web
- WidgetStore \ UI -sử dụng hình thức xác thực
- WidgetStore \ Api - sử dụng xác thực cơ bản
Để giải quyết vấn đề về Biểu mẫu/Cơ bản của bạn, tôi khuyên bạn nên đọc bài viết tuyệt vời này từ Dominick Baier: [Biểu mẫu/Chuyển đổi xác nhận quyền sở hữu xác thực cơ bản] (http://leastprivilege.com/2012/10/24/ extensions-to-the-web-apimvc-formsbasic-auth-sample-claim-transformation-and-ajax /) – Swell