2012-07-17 6 views
11

Mô tả: Ứng dụng đã cố thực hiện thao tác không được chính sách bảo mật cho phép. Để cấp cho ứng dụng này quyền cần thiết, vui lòng liên hệ với quản trị viên hệ thống của bạn hoặc thay đổi cấp độ tin cậy của ứng dụng trong tệp cấu hình.System.Security.SecurityException?

Ngoại lệ chi tiết: System.Security.SecurityException: Yêu cầu sự cho phép của loại 'System.Security.Permissions.FileIOPermission, mscorlib, Version = 4.0.0.0, Culture = trung tính, PublicKeyToken = b77a5c561934e089' thất bại.

Mã của tôi chạy đúng trong máy chủ cục bộ của tôi, nó tạo sự cố khi tải tệp lên máy chủ.

đã trải qua đoạn mã sau nhưng nó không làm việc cho tôi:

Mẫu 1:

<system.web> 
    <securityPolicy> 
    <trustLevel name="Full" policyFile="internal"/> 
    </securityPolicy> 
</system.web> 

Mẫu 2:

<location allowOverride="false"> 
    <system.web> 
    <securityPolicy> 
     <trustLevel name="Full" policyFile="internal" /> 
     <trustLevel name="High" policyFile="web_hightrust.config" /> 
     <trustLevel name="Medium" policyFile="web_mediumtrust.config" /> 
     <trustLevel name="Low" policyFile="web_lowtrust.config" /> 
     <trustLevel name="Minimal" policyFile="web_minimaltrust.config"/> 
    </securityPolicy> 
    </system.web> 
</location> 

Mẫu 3:

<system.web> 
    <trust level="Full" originUrl="" /> 
</system.web> 

Tôi không thể có thể truy cập IIS Tôi chỉ có chi tiết FTP để tải lên tệp. Xin vui lòng đề nghị tôi tùy chọn để giải quyết nó từ tập tin webconfig.

+0

Máy chủ ở đâu? – leppie

+0

Bạn cần có quyền ghi trên thư mục app_data và mức độ tin cậy được đặt thành "cao" hoặc "đầy đủ" trong IIS (hoặc bảng điều khiển dành cho quản trị viên lưu trữ web). Khi nâng cấp, quyền của tệp có thể bị ghi đè và có thể cần đặt lại. Gần đây tôi đã nhìn thấy lỗi này với 2.5.0.11 và đã phải thêm chỉ thị đầy đủ tin tưởng vào web.config - mặc dù IIS đã nói với tôi rằng nó đã là sự tin tưởng hoàn toàn. Không chắc chắn tại sao, nhưng nó đã sửa nó. – Abhijeetchindhe

Trả lời

0

LƯU Ý: Nếu bạn đang sử dụng máy chủ chia sẻ, họ thường có giao diện web để cho phép truy cập đọc/ghi vào tệp.

Tôi không khuyên bạn nhưng bạn có thể mạo danh một tài khoản cụ thể:

<system.web> 
    <identity impersonate="true" username="user" password="pass" /> 
</system.web> 

Nếu không chắc chắn rằng bạn đã cấp phép thích hợp để các file (s) bạn đang cố gắng truy cập vào các Identity được sử dụng trong Hồ bơi ứng dụng của bạn.

Specify an Identity for an Application Pool (IIS 7)

+0

HUmm cũng đã thử mã trên. Nó không giải quyết vấn đề của tôi ... cảm ơn cho đề nghị. –

+0

Bạn có đang sử dụng máy chủ chia sẻ không? –

+0

Có Tôi đã chia sẻ lưu trữ .. –

11

Cách tiếp cận bạn sử dụng trong mẫu ba cũng tương tự như giải pháp của tôi, nhưng tôi không thêm thuộc tính bổ sung mà bạn có. Hãy thử phương pháp đơn giản này.

<system.web> 
    <trust level="Full"/> 
    </system.web> 

Điều này xuất phát từ một MSDN posting Tôi đã đọc.