Internetszolgáltatók shared hosting esetén általában medium trustra állítják be a webappokat, így azok nem tudják szétbabrálni a gépet, az nt secu mellé még a .NET CAS secu is besegít.
Néha ez gondot okoz, pl. a log4net se tudja kiolvasni a konfigját, mert a CAS megakadályozza ebben. Pedig ez nem olyan vészes dolog.
ASP.NET 2.0-ban már meg lehet mondani, hogy egy szekció olvasása okozzon-e CAS Demandot, magyarul, kell-e hozzá erősebb jog, vagy sem. Erről szól a konfig szekció requirePermission attributuma. A háttérben ez a ConfigurationPermission új 2.0-s permissionre épít. A reflector analyze funkciójával megnézve látható, hogy a BaseConfigurationRecord.CheckPermissionAllowed metódus intézi el a kérdést:
[source:c#]
private void CheckPermissionAllowed(string configKey, bool requirePermission, bool isTrustedWithoutAptca)
{
if (requirePermission)
{
try
{
UnrestrictedConfigPermission.Demand();
}
catch (SecurityException exception)
{
throw new SecurityException(SR.GetString(“ConfigurationPermission_Denied”, new object[] { configKey }), exception);
}
}
…
}
[/source]
Could you hire me? Contact me if you like what I’ve done in this article and think I can create value for your company with my skills.