2009-04-28 3 views
0

책임의 한계와 법적 고지 환경 : 나는 내가 Mosso 호스팅 서비스 상에 호스팅 현재의 내에서 전송하고 웹 사이트의 몇 가지있다 ASP.Net 기술 실행하여 ASP.Net 웹 사이트는

제한됩니다. 웹 사이트 중 하나를 전송하려고 시도했을 때 "System.Security.SecurityException : 어셈블리가 부분적으로 신뢰할 수있는 호출자를 허용하지 않습니다."오류가 발생했습니다. Mosso가 ASP.Net의 Medium Trust에서 실행된다는 사실과 관련이있는 것으로 보입니다. 앱 및 웹 사이트의 코드가 완전한 신뢰를 요구하는 것으로 보입니다.

안타깝게도 앱의 전체 소스 코드에 액세스 할 수 없으며 원래 개발자를 사용할 수 없습니다. 이 웹 사이트를 이식하는 쉬운 방법이 있습니까? web.config에서 추가를 시도했지만 작동하지 않았습니다.

Mosso가 보안 수준을 조정할 것을 요구하지 않는다고 생각합니다. 내가 물었을 때 거부했기 때문입니다.

아무도 아이디어가 있습니까?

답변

0

신뢰할 수있는 수준을 설정할 수 없으면 큰 문제가 발생할 수 있습니다. 당신은 여기를 볼 수 있습니다. Professional ASP.NET 2.0 Security, Membership, and Role Management

내 호스팅 회사가 몇 년 동안 서버에서 실행중인 수많은 웹 사이트를 통해 신뢰 정책을 변경 한 것을 제외하고는 거의 똑같은 일이 발생했습니다. 결국 그들은 내 congfig 파일에서 <trust level="Full" />을 오버라이드 한 것처럼 포기하고 DiscountASP으로 이동해야했습니다.

내 원래의 질문이었습니다. ASP.NET WebPermission Security Exception

행운

+0

답장을 보내 주셔서 감사합니다. 그들이 클라우드 호스팅 업체이기 때문에 그들이 신뢰 수준을 설정할 수 있다고 생각하지 않습니다. 나는 왜 그들이 중간 신뢰에 웹 사이트를 운영하고 싶어하는지 이해할 수있다 ... 나는 또한 web.config를 변경하고 신뢰 수준을 전체로 변경하려고 시도했지만 그것도 잠근다. 아마도 호스팅 제공 업체를 변경하거나 코드를 편집 할 수 있는지 확인해야합니다. –

1

는 어셈블리가 강력한 이름인가? 그것은 강력한 어셈블리를 호출합니까?

어셈블리에 'AllowPartiallyTrustedCallers'특성을 적용해야합니다. 이 속성에 대한 자세한 내용은 available here입니다. A는 강력한 이름의 어셈블리 명시 적으로 부분적으로 신뢰할 수있는 코드의 사용 수 있도록 조립 수준이 특성을 적용하지 않는이 다른에서만 호출 할 수 있습니다 기본적으로

: 워드 프로세서

보안 정책에 의해 완전 신뢰가 부여 된 어셈블리 . 이 제한은 어셈블리에서 공개적으로 액세스 할 수있는 모든 클래스의 FullTrust에 대한 LinkDemand를 모든 공용 또는 보호 된 메서드에 배치하여 적용됩니다. 이 부분적으로 신뢰할 수있는 코드로 호출하려는 어셈블리는 AllowPartiallyTrustedCallersAttribute를 사용하여 의 의도를 선언 할 수 있습니다.

자세한 내용은 MSDN article을 참조하십시오.

편집 :


APTCA 속성이 문제에 대한 가능한 해결책이 내 의혹을 확인 일부 정보 :

https://support.isqsolutions.com/article.aspx?id=10334
http://bloggingabout.net/blogs/rick/archive/2006/04/07/11929.aspx

+0

유망한 Cerebrus를 찾습니다. 유일한 걱정은 Don이 모든 소스 코드에 액세스 할 수없고 ASP.NET 경험이 제한되어 있다고 말했기 때문입니다. 그래도 좋은 링크. – Skittles

+0

안녕하세요, Cerebrus, 답변 해 주셔서 감사합니다. Skittles는 맞습니다. 모든 소스 코드에 액세스 할 수있는 권한이 없습니다. 그러나 AssemblyInfo.cs라는 파일을 한 줄만 만들었습니다. [assembly : AllowPartiallyTrustedCallers] 이 작업이 가능합니까? 이 속성을 웹 사이트의 모든 어셈블리에 적용 할 수있는 다른 방법이 있습니까? (어리석은 질문 인 경우이 점을 용서해주십시오.) –

+0

소스 코드에 액세스 할 수없는 경우 문제가 발생합니다. 그리고 네, APTC 속성은 어셈블리 수준에서 적용됩니다. 맞습니다. – Cerebrus

0

내가 알고이 오래 ,하지만 도움이 될만한 것을 추가 할 것이라고 생각했습니다. Mosso가 Medium trust로 변경되면 우리에게 몇 가지 문제가 발생했습니다.

BlogEngine.NET을 사용하고 백엔드에 MySQL에 액세스합니다. 우리는 bin 디렉터리에 MySQL dll을 가지고 있었고 중간 신뢰로 인해 문제가 발생했습니다. Mosso가 GAC에 MySQL dll을 추가 한 후에는이를 성공적으로 사용할 수있었습니다.

분명히, 나는 당신의 특정한 세부 사항과 당신이 무엇을하려고하는지 알지 못하지만, 그것이 MySQL과 관련된 것이라면, 저에게 알려주십시오.

관련 문제