Verzeichnisschutz mit ASP.NET FormsAuthentication

Hier mal eine Copy’n’Paste-Vorlage: Auf alle Inhalte eines Verzeichnisses „CMS“ kann nur bei erfolgreicher Anmeldung zugegriffen werden. Benutzername und MD5-kodiertes Passwort werden in der web.config hinterlegt. root/web.config <?xml version=“1.0″ encoding=“utf-8″?> <configuration> <appSettings> <add key=“username“ value=“admin“ /> <add key=“password“ value=“A13EE062EFF9D72…“ /> </appSettings> <connectionStrings /> <system.web> <compilation debug=“true“ /> <authentication mode=“Forms“> <forms cookieless=“UseUri“ defaultUrl=“~/CMS/Default.aspx“ loginUrl=“~/Login.aspx“> </forms> </authentication> […]

SQL: Zeitfenstervergleich

Vergleich von Zeitfenster A mit Zeitfenster B auf Überschneidung. Das ist z.B. wichtig bei Kalender-Anwendungen mit Terminen usw… Es gibt sechs Fälle dazu: A |——–| B1 |—-| OK B2 |—-| Überschneidung B3 |—-| Überschneidung B4 |—-| OK B5 |–| Überschneidung B6 |——————| Überschneidung A-Anfang wäre der 01.01.2008, Ende wäre der 05.05.2008 B-Anfang = DateStart und […]

ASP.NET: SQL-Injection vermeiden

SQL-Injection lassen sich in ASP.NET sehr einfach vermeiden. Sowohl bei der Verwendung von WebControls als auch „von Hand“. Hier am Beispiel einer AccessDataSoucre mit einer Übergabe der ID in der URL (= GET): <asp:AccessDataSource ID=“AccessDataSource1″ runat=“server“ SelectCommand=“SELECT * FROM Tab1 WHERE ID = ?“> <SelectParameters> <asp:QueryStringParameter Name=“ID“ QueryStringField=“ID“ Type=“INT32″ /> </SelectParameters> </asp:AccessDataSource> Per Code (ohne DataSoucre-Controls) […]

SQL: Datum und Datenbanken…

…immer so ein Thema… … = ‚“ + DateTime.Now.ToShortDateString() + „‚ … … = #“ + DateTime.Now.ToString(„yyyy-MM-dd HH:mm“) + „# … DateTime.ToString-Methode (String): http://msdn.microsoft.com/de-de/library/zdtaw1bw(VS.80).aspx  

SQL: Grundoperationen SELECT, INSERT, UPDATE und DELETE

So mal schnell zum nachschlagen… SELECT column_name(s) FROM table_name INSERT INTO table_name (column1, column2, column3,…) VALUES (value1, value2, value3,…) UPDATE table_name SET column1=value, column2=value2,… WHERE some_column=some_value DELETE FROM table_name WHERE some_column=some_value Mehr davon, mit Erklärungen und zum selbst testen unter: http://w3schools.com/sql

SQL: Datum vorhanden? – Vergleich mit IS NULL

Aufgepasst bei der Verwendung von NULL in Datum/Zeit-Feldern. Nicht NULL sondern IS NULL verwenden: SELECT * FROM Tab WHERE Date IS NULL bzw. SELECT * FROM Tab WHERE Date IS NULL Mehr dazu: http://www.teialehrbuch.de/Kostenlose-Kurse/SQL/14731-Der-Vergleich-mit-dem-Wert-Null.html    

ASP.NET: Auf ConnectionStrings und AppSettings der web.config zugreifen

web.config: <appSettings> <add key=“copyright“ value=“(c) 2004″/> </appSettings> <connectionStrings> <add name=“mainDB“ connectionString=“…“ providerName=“…“ /> </connectionStrings> *.aspx.cs using System.Configuration; //… string appCopy = ConfigurationManager.AppSettings[„copyright“]; string appConn = ConfigurationManager.ConnectionStrings[„mainDB“]; *.aspx: <asp:Label ID=“Label1″ runat=“server“ Text=“<%$ AppSettings:copyright %>“ /> Übersicht über ASP.NET-Ausdrücke: http://msdn.microsoft.com/de-de/library/d5bd1tad(VS.80).aspx

ASP.NET: Eine Liste von Strings an Controls binden

Daten, einer List lassen sich so z.B. an einen Repeater binden: List<string> myValues = new List<string>(); … Repeater1.DataSource = myValues; Repeater1.DataBind(); … <asp:repeater id=“Repeater1″ runat=“server“> <itemtemplate> <%# Container.DataItem %> </itemtemplate> </asp:repeater> Siehe: http://www.aspnetzone.de/blogs/peterbucher/archive/2008/06/29/eine-liste-von-strings-ohne-eigenschaften-an-ein-control-binden.aspx