Tôi đang gặp một vấn đề với những gì cần là một hình thức đăng nhập đơn giản trong ASP.NET MVC 2. Về cơ bản hình thức của tôi trông một chút gì đó như thế này:ASP.NET MVC - Html.BeginForm và SSL
using (Html.BeginForm("LogOn", "Account", new { area = "Buyers" }, FormMethod.Post, new { ID = "buyersLogOnForm" }))
tôi có một bộ lọc RequiresHTTPS vào phương pháp đăng nhập Action nhưng khi nó thực thi tôi nhận được thông báo sau
.210tài nguyên yêu cầu chỉ có thể được truy cập thông qua SSL
Tại thời điểm này, giải pháp duy nhất mà làm việc là để vượt qua trong một htmlattribute hành động thêm như sau:
var actionURL = "https://" + Request.Url.Host + Request.Url.PathAndQuery;
using (Html.BeginForm("LogOn", "Account", new { area = "Buyers" }, FormMethod.Post, new { ID = "buyersLogOnForm", @action = actionURL }))
Trong khi làm việc này, tôi tự hỏi a) tại sao tôi đang nhìn thấy vấn đề này ở nơi đầu tiên và b) nếu có là cách đơn giản hơn để đăng lên https từ trang http?
[Chỉnh sửa]
tôi nên đã nói rằng thả xuống đăng nhập sẽ có mặt trên nhiều trang cộng đồng. Tôi không muốn tất cả các trang của mình là HTTPS. Ví dụ: trang hy vọng của tôi - bất kỳ ai cũng có thể thấy - không được dựa trên HTTPS. Về cơ bản tôi cần phải xác định giao thức trong biểu mẫu của tôi nhưng không có ý tưởng làm thế nào để làm điều đó, hoặc nếu nó có thể.
Tôi sẽ đánh giá cao mọi lời khuyên/đề xuất. Cảm ơn trước
JP
Vấn đề với điều này là không có FormContext được tạo cho biểu mẫu của bạn, vì vậy tất cả người trợ giúp nhập Html sẽ không thêm thuộc tính xác thực được đính kèm vào mô hình xem của bạn ... –
Xem câu trả lời dưới đây bởi Brad J. Điều này KHÔNG an toàn! – Null