Soci (Soczó Zsolt) szakmai blogja

2007.07.05.

Web.config olvasás medium trust esetén

Filed under: .NET,ASP.NET,Security,Szakmai élet — Soczó Zsolt @ 12:21

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]

No Comments

No comments yet.

RSS feed for comments on this post.

Sorry, the comment form is closed at this time.

Powered by WordPress