Uprawnienia w niestandardowych zestawów potwierdzające
Domyślnie uruchamia kod niestandardowy wirtualny plik dziennika z ograniczoną Wykonanie wirtualny plik dziennika uprawnień.W niektórych przypadkach mogą chcieć wykonania wirtualny plik dziennika niestandardowych, dzięki któremu zabezpieczonych połączeń do zasobów chronionych w systemie zabezpieczeń (na przykład rejestru lub pliku).Aby to zrobić, wykonaj następujące czynności:
Określ dokładną uprawnienia, które wymaga kodu w celu dokonania bezpiecznego połączenia.If this method is part of a Microsoft .NET Framework library, this information should be included in the method documentation.
Modyfikowanie plików konfiguracja raportu serwera zasad do przyznania niestandardowego wirtualny plik dziennika wymaganych uprawnień.Aby uzyskać więcej informacji na temat plików konfiguracja zasad zabezpieczeń Zobacz Using Reporting Services Security Policy Files.
Potwierdzenia wymaganych uprawnień w ramach metoda, w której złożono bezpiecznego połączenia.Jest to wymagane, ponieważ kod niestandardowego wirtualny plik dziennika, który jest wywoływany przez serwer raportów jest częścią raportu wirtualny plik dziennika hosta wyrażenie, które jest uruchamiane przy użyciu Wykonanie uprawnienia domyślne.The Execution permission zestaw enables code to run, but not to use protected resources.
Znak niestandardowy wirtualny plik dziennika o AllowPartiallyTrustedCallersAttribute , czy jest podpisany przy użyciu silnej nazwy.Jest to wymagane, ponieważ niestandardowe zestawy są nazywane z wyrażenia raportu, który jest częścią wirtualny plik dziennika hosta raportu wyrażenie, które domyślnie nie jest udzielane FullTrust; w ten sposób jest "częściowo zaufanych" obiektu wywołującego.Aby uzyskać więcej informacji zobacz Za pomocą nazwanych silne zestawów niestandardowych.
Realizacji bezpiecznego połączenia
Wolno zmodyfikować pliki zasad konfiguracja udzielenia z wirtualny plik dziennika określonych uprawnień.Na przykład podczas pisania niestandardowych wirtualny plik dziennika do obsługi konwersji walut, to konieczne może być odczytane z pliku bieżących kursów wymiany walut.W celu pobrania informacji o szybkości, należy dodać uprawnienia dodatkowe zabezpieczenia FileIOPermission, do Twojej zgody, ustaw dla wirtualny plik dziennika.Można wprowadzić dodatkowe następujący wpis w pliku konfiguracja zasad:
<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ę kodu, która odwołuje 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\MSSQL\Reporting Services\ReportServer\bin\CurrencyConversion.dll"/>
</CodeGroup>
Aby dla tego kodu w celu uzyskania odpowiednich uprawnień musi potwierdzenia uprawnień w obrębie kodu niestandardowego wirtualny plik dziennika.Na przykład jeśli chcesz dodać dostęp tylko do odczytu do pliku XML, C:\CurrencyRates.xml, należy dodać następujący 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ć potwierdzenia jako atrybut metoda:
[FileIOPermissionAttribute(SecurityAction.Assert, Read=@"C:\CurrencyRates.xml")]
Aby uzyskać więcej informacji zobacz „ system .NET Framework zabezpieczeń"w Podręczniku dewelopera systemu .NET Framework.