2013-07-14 1 views
0

ASP.Net 사이트의 하위 도메인을 삭제하고 다시 작성했습니다. 그런 다음 파일을 업로드했지만 브라우저를 열면 응용 프로그램의 구성 파일을 수정하여 신뢰를 부여해야한다는 보안 예외가 발생합니다. 슬프게도, 오류 메시지는 문제를 일으킨 파일, 문제가되는 신뢰 또는 내가 볼 수있는 내용을 말하지 않습니다.실제 사이트의 ASP.Net에서 보안 예외가 발생합니다.

Server Error in '/' Application. 

Security Exception 

Description: The application attempted to perform an operation not allowed by the security policy. To grant this application the required permission please contact your system administrator or change the application's trust level in the configuration file. 

Exception Details: System.Security.SecurityException: Request for the permission of type 'System.Security.Permissions.FileIOPermission, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed. 

Source Error: 


[No relevant source lines] 

Source File: App_Web_iqeawexe.0.cs Line: 0 

Stack Trace: 


[SecurityException: Request for the permission of type 'System.Security.Permissions.FileIOPermission, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.] 
    System.Security.CodeAccessSecurityEngine.Check(Object demand, StackCrawlMark& stackMark, Boolean isPermSet) +0 
    System.Security.CodeAccessSecurityEngine.Check(CodeAccessPermission cap, StackCrawlMark& stackMark) +31 
    System.Security.CodeAccessPermission.Demand() +46 
    System.Reflection.RuntimeAssembly.VerifyCodeBaseDiscovery(String codeBase) +118 
    System.Reflection.RuntimeAssembly.GetName(Boolean copiedName) +69 
    System.Reflection.Assembly.GetName() +12 
    DevExpress.Web.ASPxClasses.Internal.HttpUtils.<get_DXValidatorType>b__0(Assembly i) +9 
    System.Linq.WhereArrayIterator`1.MoveNext() +55 
    System.Linq.Enumerable.FirstOrDefault(IEnumerable`1 source) +4216052 
    DevExpress.Web.ASPxClasses.Internal.HttpUtils.get_DXValidatorType() +120 
    DevExpress.Web.ASPxClasses.Internal.HttpUtils.GetValueFromRequest(HttpRequest request, String key, Boolean skipValidation) +25 
    DevExpress.Web.ASPxClasses.Internal.HttpUtils.GetValueFromRequest(String key, Boolean skipValidation) +60 
    DevExpress.Web.ASPxClasses.Internal.MvcUtils.get_CallbackName() +79 
    DevExpress.Web.ASPxClasses.Internal.RenderUtils.IsAnyCallback(Page page) +51 
    DevExpress.Web.ASPxClasses.Internal.ResourceRegistrator.EnsureResourcesSynchronized(Page page) +55 
    DevExpress.Web.ASPxClasses.Internal.ResourceRegistrator.RegisterResource(Page page, ResourceData resource, Boolean useStandardRegistration) +19 
    DevExpress.Web.ASPxClasses.ASPxWebControl.RegisterHoverIncludeScripts() +84 
    DevExpress.Web.ASPxClasses.ASPxWebControl.RegisterClientIncludeScripts() +72 
    DevExpress.Web.ASPxClasses.ASPxWebControl.OnPreRender(EventArgs e) +96 
    DevExpress.Web.ASPxClasses.ASPxDataWebControlBase.OnPreRender(EventArgs e) +32 
    System.Web.UI.Control.PreRenderRecursiveInternal() +103 
    System.Web.UI.Control.PreRenderRecursiveInternal() +175 
    System.Web.UI.Control.PreRenderRecursiveInternal() +175 
    System.Web.UI.Control.PreRenderRecursiveInternal() +175 
    System.Web.UI.Control.PreRenderRecursiveInternal() +175 
    System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +8431 
    System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +253 
    System.Web.UI.Page.ProcessRequest() +78 
    System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext context) +21 
    System.Web.UI.Page.ProcessRequest(HttpContext context) +49 
    ASP.default_aspx.ProcessRequest(HttpContext context) in App_Web_iqeawexe.0.cs:0 
    System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +100 
    System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +75 

생각을 : 여기

내가 무엇을보고 무엇입니까?

+0

중간 신뢰로 운영되고 있습니까? – SLaks

+0

나는 중간 신뢰를 얻으려고 그렇게 생각한다. 나는 공유 호스팅 환경에 있기 때문에 그 결과는 무엇이든 상관 없습니다. 나는 웹 호스트 제공자와의 이전 통신에서 그것이 사실임을 기억한다. 흥미롭게도 사이트는 잘 작동하는 데 사용되었습니다. 지난주에 컴퓨터가 추락 해 그들이 내 계정을 호스팅했습니다. 그들은 물건을 재건했지만, 백업의 오래된 버전을 사용했습니다. 가장 쉬운 방법은 하위 도메인을 삭제하고 하위 도메인을 다시 만들고 파일을 다시 업로드하는 것입니다. 그러나이 작업은 여전히 ​​동일한 오류 메시지를 표시합니다. –

+0

공유 호스팅 환경에서 "완전한 신뢰"가 허용되지 않고 사이트가 정상적으로 작동하고 있음을 알고 있습니다. 그것은 웹 호스트 공급자가 신뢰 수준을 변경하고 ASP.Net/DevExpress가 좋아하는 것보다 더 제한적으로 만든 기계를 재구성했을 때 가능합니다. 실제로 어떤 구성 요소가 오류를 일으키는 지 알 수 없습니다. 스택 추적은 나에게 분명하지 않았습니다. –

답변

0

DevExpress 릴리스에서 문제가있는 것으로 판명되었습니다. 7 월 8 일 게시 된 트러스트는 중간 트러스트 모델을 사용하여 웹 사이트를 파기했습니다. 그들은 핫픽스를 게시했습니다.

DevExpress에서 저에게 쓴 내용은 다음과 같습니다. "Medium Trust 환경 티켓에서 DevExpress 2013.1.5로 업데이트 한 후 System.Security.Permissions.FileIOPermission 예외 상황에서이 문제가 이미 해결되었습니다. 수정하고 문제가 지속되는지 확인하십시오. "

큰 회사가 철저한 테스트를하지 않을 것이라고 기대하지 않았습니다.이 버그를 추적하기가 어려웠습니다.