Vydal jsem novou verzi své knihovny Altairis Web Security Toolkit (dříve Simple ASP.NET SQL Providers), kterí se stala vcelku populární. Přináší oproti minulé verzi řadu vylepšení a nově také nezávislost na databází a ověřenou kompatibilitu s novým SQL Serverem Compact Edition.

Trocha historie

Verze ASP.NET 2.0 přinesla novinku v podobě membership, role a profile providerů. Bohužel, implementace providerů v .NET Frameworku je dost nešťastná: v zájmu maximální univerzálnosti použití jsou v podstatě nezkombinovatelné s čímkoliv jiným. Jejich tabulková struktura je dost nestandardní, nepřehledná a prakticky nepropojitelná se zbytkem databázové struktury, kterou aplikace může mít.

Proto jsem se rozhodl napsat si vlastní providery, využívající mnohem jednodušší strukturu tabulek. Protože základem byla jednoduchost, nazval jsem je Simple SQL Providers. Toto moje řešení se docela zalíbilo a stalo se dosti populárním. Postupně jsem do této knihovny přidal ještě nějaké další věci, třeba modul pro basic autentizaci v IIS a jednoduchého providera pro ukládání dat do textových souborů.

Nová generace

Nyní jsem uvolnil masivně přepracovanou druhou verzi. Třídy SimpleProvider* jsou sice nadále přítomny, ale novou generaci představují třídy Table*Provider. Základní změny jsou následující:

Zůstává zachována původní jednoduchost a také hojně využívaná možnost do tabulek přidávat libovolné vlastní sloupečky, pokud jsou nullable a nebo mají defaultní hodnotu, což zapojení do vlastní tabulkové struktury dále zjednodušuje.

Kromě "tabulkových" providerů obsahuje knihovna ještě PlainTextMembershipProvider, což je extrémně jednoduchý membership provider, ukládajicí svoje údaje do obyčejného textového souboru. Užitečný pro prozkoumání, jakže ten membershipping vlastně funguje a low-security scénáře.

Další třídou je BasicAuthenticationModule, což je autentizační modul pro IIS, který implementuje běžnou HTTP Basic autentizaci, ovšem ve spolupráci s membership infrastrukturou (a tedy libovolným membership providerem, včetně těch výše uvedených). Podrobnější informace je možné nalézt v článku Modul pro 'basic' autentizaci v ASP.NET.

Dostupnost a instalace

Altairis Web Security Toolkit si můžete stáhnout z CodePlexu. Na adrese http://altairiswebsecurity.codeplex.com/ si můžete stáhnout knihovnu, příklady, zdrojové kódy a je tam k dispozici i dokumentace. Pokud používáte NuGet (kterému se hodlám podrobněji věnovat v budoucnu), je komponenta i součástí NuGet Gallery, její ID je Altairis.Web.Security.

Knihovna je licencována pod Microsoft Public License (Ms-PL), což umožňuje její použítí ve všech druzích aplikací (včetně komerčních) a též modifikaci.