Tôi đang chuyển một ứng dụng ASP.NET sang MVC và cần lưu trữ hai mục liên quan đến người dùng tự động: danh sách vai trò và danh sách ID mục hiển thị, để xác định những gì người dùng có thể hoặc không thể nhìn thấy.Vai trò người dùng - tại sao không lưu trữ trong phiên?
Trước đây chúng tôi đã sử dụng WSE với dịch vụ web và điều này làm cho mọi thứ trở nên phức tạp và không thể gỡ lỗi đúng cách. Bây giờ chúng tôi đang bỏ dở dịch vụ web, tôi đang tìm kiếm foward để đơn giản hóa giải pháp đơn giản để lưu trữ những thứ này trong phiên. Một đồng nghiệp đã đề xuất sử dụng vai trò và nhà cung cấp thành viên nhưng khi xem xét vấn đề này, tôi đã tìm thấy một số vấn đề:
a) Vấn đề tương tự nhưng khác với WSE ở chỗ nó phải được sử dụng một cách rất hạn chế maing nó khó khăn thậm chí để viết các bài kiểm tra;
b) Tùy chọn bộ nhớ đệm duy nhất cho RolesProvider dựa trên cookie mà chúng tôi đã từ chối trên cơ sở bảo mật;
c) Không giới hạn các biến chứng và hành lý không mong muốn thêm;
Tất cả những gì chúng ta muốn làm, tóm lại, lưu trữ hai biến chuỗi trong phiên của người dùng hoặc một thứ tương tự một cách an toàn và tham chiếu đến chúng khi cần. Gì có vẻ là cho đến nay một công việc mười phút đã đưa ra vài ngày điều tra và hợp chất vấn đề bây giờ chúng tôi đã phát hiện ra rằng sử dụng session IDs rõ ràng có thể được làm giả, xem
http://blogs.sans.org/appsecstreetfighter/2009/06/14/session-attacks-and-aspnet-part-1/
Tôi suy nghĩ trái có không có cách nào dễ dàng để làm công việc này rất đơn giản, nhưng tôi thấy rằng không thể tin được.
Ai có thể:
a) cung cấp thông tin đơn giản về cách tạo các phiên ASP.NET MVC an toàn như tôi luôn tin?
b) đề xuất một cách đơn giản khác để lưu trữ hai biến chuỗi này cho vai trò của người dùng đã đăng nhập v.v. mà không phải thay thế một cơn ác mộng phức tạp với một điều khác như được mô tả ở trên?
Cảm ơn bạn.
Tôi nên nói, chúng tôi sử dụng SSL nên không có vấn đề gì ở đó. Ngoài ra, chúng tôi chưa bao giờ gặp vấn đề với việc tái tạo các phiên vì vậy tôi không lo lắng về điều đó. – Phil
Đối với các biến phiên hoàn toàn an toàn: đó là những gì tôi nghĩ nhưng bài viết tôi đã liên kết cho thấy rằng người dùng có thể lừa người dùng tham gia phiên hiện tại, theo nhiều cách khác nhau và chia sẻ nó với người dùng đã xác thực. và do đó lưu trữ tất cả các vai trò riêng của họ trong đó để người khác sử dụng. Giải pháp hiển nhiên cho điều đó là lưu trữ địa chỉ IP trong phiên và kiểm tra nó mỗi lần nhưng dường như rất dễ giả mạo trong yêu cầu đó. Trong khi tôi đã không thể thực hiện bất kỳ cách nào được đề xuất của – Phil
tham gia một công việc phiên hiện tại tôi muốn biết lý do tại sao họ không chỉ dựa vào kỹ năng rõ ràng của tôi thiếu là một hacker. Nếu tôi tự tin về điều đó thì tôi nghĩ chúng tôi đã giải quyết được vấn đề nhưng cho tới giờ tôi vẫn chưa. – Phil