Udostępnij za pośrednictwem


Uprawnienia w zestawach niestandardowej potwierdzające

Domyślnie uruchamia kod niestandardowy wirtualny plik dziennika z ograniczony wykonanie uprawnień wirtualny plik dziennika.W niektórych przypadkach możesz implementuje wirtualny plik dziennika niestandardowych i wykonywania wywołań zabezpieczonej do chronionych zasobów w ramach systemu zabezpieczeń (na przykład pliku lub rejestru).Aby to zrobić, wykonaj następujące czynności:

  1. Określenie dokładnej uprawnienia, które wymaga kodu zabezpieczonej rozmowę.If this method is part of a Microsoft .NET Framework library, this information should be included in the method documentation.

  2. Modyfikowanie serwer raportów pliki konfiguracja zasad w celu udzielenia niestandardowy wirtualny plik dziennika wymaganych uprawnień.Aby uzyskać więcej informacji o plikach konfiguracja zasad zabezpieczeń, zobacz Korzystanie z plików zasad zabezpieczeń usług raportowania.

  3. Potwierdzaj wymaganych uprawnień w ramach metoda, w którym złożono bezpiecznego połączenia.Jest to wymagane, ponieważ kod niestandardowy wirtualny plik dziennika, który jest wywoływany przez serwer raportów jest częścią raport wirtualny plik dziennika hosta wyrażeń, który działa z wykonanie uprawnienia domyślne.Wykonanie zestaw uprawnień umożliwia kodu do uruchomienia, ale nie należy używać do chronionych zasobów.

  4. Znak niestandardowy wirtualny plik dziennika z AllowPartiallyTrustedCallersAttribute czy jest podpisany przy użyciu silnej nazwy.Jest to wymagane, ponieważ niestandardowe zestawy są nazywane z wyrażenia raport, który jest częścią raport zestaw hosta wyrażeń, która domyślnie nie przyznano FullTrust; jest zatem "częściowo zaufanych" obiekt wywołujący.Aby uzyskać więcej informacji, zobacz Korzystanie z zestawów niestandardowy o nazwie silne.

Implementowanie bezpiecznego połączenia

Można zmodyfikować pliki konfiguracja zasad udzielić swojego wirtualny plik dziennika określone uprawnienia.Na przykład podczas pisania niestandardowego wirtualny plik dziennika do obsługi konwersji waluty, konieczne może być odczytane z pliku aktualne kursy wymiany walut.Aby pobrać informacje stawki, trzeba dodać uprawnienia dodatkowe zabezpieczenia FileIOPermission, uprawnienia użytkownika do zestaw dla wirtualny plik dziennika.Można wprowadzać dodatkowe następujący wpis w zasadzie plik konfiguracja:

<PermissionSet class="NamedPermissionSet"
   version="1"
   Name="CurrencyRatesFilePermissionSet"
   Description="A special permission set that grants read access to my currency rates file.">
      <IPermission class="FileIOPermission"
         version="1"
         Read="C:\CurrencyRates.xml"/>
      <IPermission class="SecurityPermission"
         version="1"
         Flags="Execution, Assertion"/>
</PermissionSet>

Następnie dodaj grupę kod odwołujący się do tego zestaw uprawnień:

<CodeGroup class="UnionCodeGroup"
   version="1"
   PermissionSetName="CurrencyRatesFilePermissionSet"
   Name="MyNewCodeGroup"
   Description="A special code group for my custom assembly.">
   <IMembershipCondition class="UrlMembershipCondition"
      version="1"
      Url="C:\Program Files\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\MSSQL\Reporting Services\ReportServer\bin\CurrencyConversion.dll"/>
</CodeGroup>

Aby kod uzyskać odpowiednie uprawnienia musi potwierdzenia uprawnień w obrębie kodu niestandardowego wirtualny plik dziennika.Na przykład jeśli chcesz dodać tylko do odczytu do pliku XML, C:\CurrencyRates.xml, należy dodać poniższy kod do metoda:

// C#
FileIOPermission permission = new FileIOPermission(FileIOPermissionAccess.Read, @"C:\CurrencyRates.xml");
try
{
   permission.Assert();
   // Load the XML currency rates file
   XmlDocument doc = new XmlDocument();
   doc.Load(@"C:\CurrencyRates.xml");
...

Można również dodać argumentacja jako atrybut metoda:

[FileIOPermissionAttribute(SecurityAction.Assert, Read=@"C:\CurrencyRates.xml")]

Aby uzyskać więcej informacji, zobacz ".NET Framework zabezpieczenia" w.NET Framework Developer's Guide.