Tôi đã tập hợp một applet cơ bản nơi người dùng chọn một tập tin từ ổ đĩa cứng của họ, nó đọc dòng đầu tiên của tập tin này và chuyển nó tới JavaScript để thêm tiền xử lý, và sau đó khi bạn nhấp vào nút nó cố tải lên tệp đó thông qua yêu cầu HTTP POST. Tôi đã tìm thấy một applet mã nguồn mở rất cơ bản để tải lên các tệp mà tôi đã sao chép và sửa đổi cho bit cuối cùng này.Java Applet Permissions
Sự cố là, tuy nhiên, nó không hoạt động. Nó có vẻ như nó đang chạy tốt, nhưng sau đó tôi chạy vào hai snags liên quan đến quyền truy cập. Các thông điệp trong Console Java nói rằng applet có access denied lỗi trên hai điều khoản sau đây:
java.lang.RuntimePermission setFactory
java.io.FilePermission read
Tôi tìm thấy điều này lạ, bởi vì tôi nghĩ rằng tôi đã cấp phép applet đã khi tôi xây dựng nó với " tự ký "tùy chọn kiểm tra trong NetBeans, và sau đó nhấp để xác nhận cửa sổ pop-up bảo mật nhỏ trong trình duyệt.
Ngoài ra, phần mà tôi đã mã hóa bản thân mình, nơi nó đọc tệp và chuyển dòng đầu tiên lên JavaScript hoạt động tốt. Đây là một chỉ báo khá rõ ràng rằng applet có thể đọc từ hệ thống tập tin cục bộ! Sự cố không bắt đầu cho đến khi tôi thực sự cố bắt đầu tải lên. Một điều cần lưu ý, tôi giả sử, là quá trình tải lên dường như chạy trong một chuỗi mới, trong khi phần còn lại của tất cả chạy trong lớp chính mà không tạo chủ đề.
Tôi là một người mới làm quen với Java và biết rất ít về các chủ đề trong Java; Tôi có cần phải chuyển quyền truy cập vào chủ đề mới này không? Hoặc một thứ gì đó hiệu quả? Cảm ơn trước.
doPrivileged cực kỳ nguy hiểm. Như đang ký applet. –
Như cho phép các applet đọc các tập tin. Không ít, nó ở đó và câu trả lời cho câu hỏi. –