WSPBuilder, 구성 저장소 및 부분적으로 신뢰할 수있는 발신자
-
13-09-2019 - |
문제
WSP 빌더를 사용하여 구성점을 사용하는 솔루션을 포장하는 사람이 있습니까? (http://www.codeplex.com/spconfigstore) 웹 응용 프로그램의 빈 디렉토리에 배포?
파일 뒤에 내 코드에서 구성 저장소를 참조하려고하면이 예외가 발생합니다 ...
System.Security.SecurityException : 그 어셈블리는 부분적으로 신뢰할 수있는 발신자를 허용하지 않습니다.
내 프로젝트에 부분적으로 신뢰할 수있는 발신자 속성을 추가했습니다.
[assembly: AllowPartiallyTrustedCallers()]
내 메소드의 SharePoint 권한 속성
[SharePointPermissionAttribute(System.Security.Permissions.SecurityAction.Demand, Impersonate = true)]
[SharePointPermissionAttribute(System.Security.Permissions.SecurityAction.Demand, ObjectModel = true)]
그러나 이것은 아무것도하지 않은 것 같습니다. 나는 또한 올바른 ipermission으로 맞춤형 CAS 정책을 지정했습니다.
<IPermission class="Microsoft.SharePoint.Security.SharePointPermission, Microsoft.SharePoint.Security, version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" version="1" ObjectModel="True" UnsafeSaveOnGet="True" Unrestricted="True" />
그리고 여전히 성공하지 못했습니다. 반드시 다른 사람들이 이것을 해냈습니다.
WSP 빌더 버전 1.0.5를 사용하고 있습니다.
해결책
Assembly : AllowParticlyTrustedCallers ()]을 조립에 추가하여 조립품을 통해 부분적으로 신뢰할 수있는 발신자가 호출 할 수 있습니다. 그러나 ConfigStore 자체에는 해당 속성이 없습니다.
GAC에 DLL을 추가 할 수 있습니까? (쉬운 길). 또는 [Assembly : alleterParticlicTrustedCallers ()]을 ConfigStore 프로젝트에 추가합니다 ..
다른 팁
Assembly를 Web.config Safecontrols 섹션에 추가 했습니까?
<SafeControl Assembly="Microsoft.Office.Server.Search, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" Namespace="Microsoft.Office.Server.Search.WebControls" TypeName="*" Safe="True" />
또한 web.config의 신뢰 수준을 낮추어야 할 수도 있습니다.
<trust level="WSS_Minimal" originUrl="" />
MSDN 문서를 참조하십시오 ASP.NET 및 SharePoint Trust 레벨.