SharePoint 2010: Forms Authentifizierung für SharePoint Anwendungen

Von Andreas Aschauer Autor Feed 1. October 2010 20:49
Es kann aus vielen Gründen praktisch oder erforderlich sein, SharePoint Anwendungen auf Forms Authentifizierung umzustellen. Entweder existiert kein Active Directory im Unternehmen oder man muss ein komplett eigenes Authentifizierungssystem anbinden, oder SharePoint soll in einer Art “Sandbox” Betrieb innerhalb eines Teams oder einer Abteilung getestet werden und es ist “Out-of-Scope” die bestehende AD Infrastruktur zu nutzen und anzupassen. Durchsucht man das Internet nach den Begriffen “SharePoint Forms-Based Authentication” und ähnlichem landet man sehr viele Treffer. Leider sind viele Tutorials entweder einfach falsch oder unnötig kompliziert. Deshalb soll hier so kurz wie möglich erklärt werden, wie man eine SharePoint Anwendung mittels ASP.NET SQL-Membership Provider auf Forms-Basierte Authentifizerung oder einen Mischbetrieb Forms/AD umstellt. Los gehts mit dem Erstellen einer SQL Server Datenbank welche die User und Profile enthält. Wie aus ASP.NET bekannt wird dies mit dem Tool “aspnet_regsql” erledigt. Dazu wird die Visual Studio Command Prompt gestartet und aspnet_regsql.exe aufgerufen. Wird das Tool ohne Parameter gestartet bekommt man einen grafischen Wizard präsentiert der das Anlegen der User Datenbank erledigt. Hier wird die Option “Configure SQL Server for application Services” gewählt und danach noch der Datenbankserver und optional der Name der DB angegeben. Abbildung 1 – Das Tool aspnet_regsql.exe Ist die Datenbank angelegt wird die SharePoint Anwendung erzeugt. In der Central Administration wird im Application Management eine neue Anwendung angelegt. Wichtig hierbei sofort: Den Authentifizierungsmodus auf “Claims Based” einstellen (siehe Abb.2) Abbildung 2 – Claims Based Authentifizierung aktivieren Wählt man den Claims Based Modus, hat man nachfolgend die Möglichkeit den Membership und Role Provider zu wählen. Wie in Abbilung 3 ersichtlich. Wichtig: Die Namen für den Membershipprovider und den Role Provider müssen mit den Namen so wie sie später in die web.config Datei wandern übereinstimmen. Im Beispiel heissen die beiden Komponenten: Sql-Membership bzw. Sql-Role. Abbildung 3: Namen des Membership/Role Providers angeben Ebenfalls wichtig. Die Option “Enable Windows Authentication” sollte aktiviert bleiben, da man sich ansonst selbst aussperrt, BEVOR man irgendeinem User aus der SQL Server Userverwaltungsdatenbank Rechte geben kann. Wurde die Anwendung erstellt folgt der mühsamste Teil. Insgesamt müssen 3 web.config Dateien angepasst werden. Die Konfiguration der Central Administration, damit man den Usern aus der DB Rechte auf Applikationsebene erteilen kann, die Konfiguration des Secure Token Services und natürlich die eben erstellte Webanwendung. Um die entsprechenden web.config Dateien zu finden ist es am einfachsten im IIS Manager auf die entsprechende Site Rechts-Klicken und “Explore” wählen. - Anpassen der Central Administration Folgende Snippets in die web.config einfügen. Das erste Snippet direkt nach </configSections>. Der Name des DB Servers und der DB Name müssen natürlich entsprechend angepasst werden. Hier wird die Verbunding zur Authentifizierungsdatenbank erstellt 1: <connectionStrings> 2: <add connectionString="data source=.; 3: Integrated Security=SSPI;Initial Catalog=SqlAuthentication" name="FBAConnection" /> 4: </connectionStrings> .csharpcode, .csharpcode pre { font-size: small; color: black; font-family: consolas, "Courier New", courier, monospace; background-color: #ffffff; /*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt { background-color: #f4f4f4; width: 100%; margin: 0em; } .csharpcode .lnum { color: #606060; } .csharpcode, .csharpcode pre { font-size: small; color: black; font-family: consolas, "Courier New", courier, monospace; background-color: #ffffff; /*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt { background-color: #f4f4f4; width: 100%; margin: 0em; } .csharpcode .lnum { color: #606060; } Das 2. Snippet in die Sektion <system.web>. Hier wird der Membership Provider und der Role Provider eingestellt. 1: <roleManager defaultProvider="AspNetWindowsTokenRoleProvider" enabled="true" cacheRolesInCookie="false"> 2: <providers> 3: <add connectionStringName="FBAConnection" applicationName="/" description="Stores and retrieves roles from SQL Server" name="SQL-RoleManager" type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> 4: </providers> 5: </roleManager> 6: <membership defaultProvider="SQL-MembershipProvider"> 7: <providers> 8: <add connectionStringName="FBAConnection" passwordAttemptWindow="5" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" applicationName="/" requiresUniqueEmail="true" passwordFormat="Hashed" description="Stores and Retrieves membership data from SQL Server" name="SQL-MembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> 9: </providers> 10: </membership> - Anpassen der Secure Token Service Application Die Konfigurationsdatei findet man im IIS Manager unter “SharePoint WebServices”/”SecureTokenServiceApplication”. Hier sieht die web.config etwas anders aus.Folgendes Snippet komplett nach der Sektion <system.net> einfügen. 1: <connectionStrings> 2: <add connectionString="data source=.;Integrated Security=SSPI;Initial Catalog=SqlAuthentication" name="FBAConnection" /> 3: </connectionStrings> 4:  5: <system.web> 6: <roleManager defaultProvider="c" enabled="true" cacheRolesInCookie="false"> 7: <providers> 8: <add name="c" type="Microsoft.SharePoint.Administration.Claims.SPClaimsAuthRoleProvider, Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" /> 9: <add connectionStringName="FBAConnection" applicationName="/" description="Stores and retrieves roles from SQL Server" name="SQL-RoleManager" type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> 10: </providers> 11: </roleManager> 12: <membership defaultProvider="i"> 13: <providers> 14: <add name="i" type="Microsoft.SharePoint.Administration.Claims.SPClaimsAuthMembershipProvider, Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" /> 15: <add connectionStringName="FBAConnection" passwordAttemptWindow="5" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" applicationName="/" requiresUniqueEmail="true" passwordFormat="Hashed" description="Stores and Retrieves membership data from SQL Server" name="SQL-MembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> 16: </providers> 17: </membership> 18: </system.web> 19: configuration> Hier auch wieder die Werte im Connectionstring an den eigenen DB Server anpassen. - Anpassen der Webanwendung Die web.config der Anwendung wird genau gleich verändert, wie jene der Central Administration oben. Voilá – die Änderungen sind vollbracht. Einmal Server neu starten oder Application Pools recyclen und los gehts. Zunächst wird in der Central Administration der neuen Anwendung eine User Policy hinzugefügt. Hat man alles richtig gemacht, kann man hier schon User aus der SQL Server DB auswählen. Im Beispiel wird mittels “Add Users” der Zone (Default) die Gruppe “All SQL-Membership Users” mit der Policy “Full Control” hinzugefügt. Das bedeutet alle User aus dem externen Authentifizierungssystem haben alle Rechte auf der Webanwendung – in Produktivsystem eher nicht zu empfehlen, für Beispielzwecke aber exemplarisch in Ordnung. Ab jetzt kann mit Forms-Authentifizierung voll transparent in allen Site Collections, Sites und Listen der Anwendung gearbeitet werden. Gar nicht so schwer!   Andreas Aschauer Mail: andreas.aschauer@codeforce.at Twitter: www.twitter.com/CodeForceAT

JSON mit .NET verarbeiten

Von Mario Meir-Huber Autor Feed 30. September 2010 23:55
JSON (Java Script Object Notation) wird für Webservices durch WCF häufig eingesetzt. Doch was verbirgt sich hinter JSON und wie kann man es selbst in .NET verarbeiten? Die Hauptaufgabe von JSON ist es, ein kompaktes Datenformat, welches für Mensch wie auch Maschine einfach zu lesen ist, bereit zu stellen. JSON soll eine wesentlich schlankere Möglichkeit bietet, Daten zu verteilen. JSON wird oft für JavaScript Operationen und in AJAX-Anwendungen eingesetzt. JSON wird durch den MIME-Type “application/json” repräsentiert*. JSON-Objekte werden durch Klammern eingeleitet, deren Elemente sind in Hochkomma und die Werte je nach Typ entweder selbst in Hochkomma oder als Zahlenwert angegeben. Eine Person würde etwa folgenderweise aussehen: {   “Name”:”Mario Meir-Huber”,   “Age”:2e+6, } Würde man dies in XML abbilden, so sieht dies (ohne Attribute) folgendermaßen aus: <Person>   <Name>Mario Meir-Huber</Name>   <Age>27</Age> </Person> Das XML-Format hat 66 Zeichen, wohingegen für das JSON-Format lediglich 46 Zeichen anfallen. Selbst in einem sehr kleinen Objekt spart man somit Platz. Dies hat für Webservices natürlich gewisse Vorteile. JSON-Objekte kann man auch verschachteln: {   “Name”:”Mario Meir-Huber”,   “Age”:2e+6,   “Address”:   {     “City”: “Vienna”   } } Werden Arrays abgebildet, so kommen diese in eckige Klammern: []. Innerhalb dieser Klammern werden die einzelnen Werte, welche wiederum verschachtelte Objekte sein können, zusammengesetzt. {   “Name”:”Mario Meir-Huber”,   “Age”:2e+6,   “Address”:   {     “City”: “Vienna”   }   “Web”: [“www.codeforce.at”, “www.codefest.at”] } JSON Daten kann man in .NET über verschiedenste Libraries parsen. JSON.org nennt einige Projekte, welche JSON im .NEt Framework unterstützen. Ich selbst habe bereits ein Interop-Projekt mit Jayrock und eines mit Json.NET durchgeführt. Das für mich am besten geeignete Framework war Json.NET. Hierfür gibt es sogar eine LinQ to JSON Möglichkeit. Fangen wir jedoch mit der einfachsten Möglichkeit, deiner JSON Serialisierung, an. Im unten stehenden Beispiel erstellen wir ein Produkt, welches Unterprodukte haben kann. Dies rufen wir mit JSON.NET über “JsonConvert.SerializeObject” auf. Product p = new Product(); p.Name = "My powerfull Product"; p.Id = Guid.NewGuid(); p.ChildProduct = new Product(); p.ChildProduct.Name = "My child"; p.ChildProduct.Id = Guid.NewGuid(); p.ChildProduct.ChildProduct = new Product(); p.ChildProduct.ChildProduct.Name = "I am deep!"; p.ChildProduct.ChildProduct.Id = Guid.NewGuid(); string serialcontent = JsonConvert.SerializeObject(p); Will man wieder die andere Richtung gehen, verwendet man “DeserializeObject”. In diesem Fall erstellen wir einfach nur eine Deep-Copy des Objektes. Product copy = JsonConvert.DeserializeObject<Product>(serialcontent); Will man sich das serialisierte JSON Objekt ansehen, sieht dies folgendermaßen aus: { "Name": "My powerfull Product", "Id":"01ed3cb1-2a99-4d62-bf1b-c878dbed6c9b", "ChildProduct": {   "Name":"My child",   "Id":"f48cbed8-ce83-4bcb-94f8-dbe10f26036a",   "ChildProduct":   {      "Name":"I am deep!",      "Id":"035b407e-4cec-4456-a47d-17df33b2f27a",      "ChildProduct":null,      "id":0,      "Date":"\/Date(-62135596800000+0100)\/"    },    "id":0,"Date":"\/Date(-62135596800000+0100)\/" }, "id":0,"Date":"\/Date(-62135596800000+0100)\/" } LinQ to JSON funktioniert auch ganz einfach. Wir erstellen uns auch wieder ein Produkt, welches Serialisiert werden sollte. Wollen wir den Namen des Child-Produktes erfahren, greifen wir auf diesen dem Pfad zu: private static void DoSomeLinQToJson() { Product p = new Product(); p.Name = "My powerfull Product"; p.Id = Guid.NewGuid(); p.ChildProduct = new Product(); p.ChildProduct.Name = "My child"; p.ChildProduct.Id = Guid.NewGuid(); p.ChildProduct.ChildProduct = new Product(); p.ChildProduct.ChildProduct.Name = "I am deep!"; p.ChildProduct.ChildProduct.Id = Guid.NewGuid(); string serialcontent = JsonConvert.SerializeObject(p); JObject obj = JObject.Parse(serialcontent); var childName = (string)obj["ChildProduct"]["Name"]; Console.WriteLine(childName); } Dies gibt uns dann den korrekten Produktnamen aus. Ob es sich dabei um richtiges LinQ handelt sei dahingestellt. Es besteht jedoch eine einfache Möglichkeit, Daten abzufragen. Sehr nett ist auch die Möglichkeit, dynamische Typen zu serialisieren: private static void WriteADynamicObject() { dynamic obj = new ExpandoObject(); obj.WhatEver = "Hello"; obj.SomeThing = 123; Console.WriteLine(JsonConvert.SerializeObject(obj)); } Im nächsten Beitrag werde ich JSON und XML etwas genauer vergleichen, wobei der Hauptteil auf einen Geschwindigkeits- wie auch Größenvergleich liegen soll. Die Library findet Ihr unter http://json.codeplex.com/. Mario Meir-Huber Mail: mario.mh@codeforce.at Twitter: www.twitter.com/mario_mh *: http://tools.ietf.org/html/rfc4627

Nitty Gritty Roadshow Nachlese – Cloud | Phone | Web

Von Christina Duskanich Autor Feed 29. September 2010 16:21
Meine lieben Leser… Ich bin seit 2 Wochen im Team der DPE und absolviere ein 6 monatiges Praktikum im Bereich Design. Im Zuge dessen besuchte ich letzten Mittwoch meine erste Developer Roadshow in Linz, mit Max Knor als Vortragender. Er behandelte die Themen: ISS, Azure – Cloud Computing, Silverlight sowie Windows Phone 7. Als Beginner in der Microsoft Plattform versuche hier eine Einstiegshilfe und Zusammenfassung für ebendiese wiederzugeben und mit passenden Links zu unterstützen. Am Ende des Beitrags können Sie die Slides direkt herunterladen. Max arbeitet als Technologie Berater bei Microsoft und ist einer der jüngsten Mitarbeiter in DPE und erklärte mit Esprit und Witz die neusten Technologien.         Web Plattform (ISS = INTERNET INFORMATION SERVER) Microsoft Web Plattform ist eine Sammlung von Werkzeugen, Servern und Technologien. Zur Veranschaulichung des Application Pools habe ich hier ein Beispiel gebacht: Es laufen mehrer Apps auf einem Webserver, nun braucht eine vielleicht übermäßig viel Performance oder bremst die anderen aus, werden die anderen automatisch von ISS geschützt. (Folie 25) Die Administration des Web Server, übernimmt der Administrator. Dies sind Entwickler, Application Owner sowie der Site Owner. Sie delegieren Sperre/Freigabe von Konfigurationen sowie ACLs auf Config-Dateien. (Folie 29) Die Vorteile basieren auf individuelle Rechtevergabe, Zugriffe als jeweilige Benutzer/in und Nachverfolgbarkeit. Dennoch gibt es auch hierbei Nachteile, wie ein lokales Windows-Benutzerkonto, sowie Oder Active Directory (Domainen Konto). - Microsoft Web http://www.microsoft.com/web/ - Microsoft Web Download http://www.microsoft.com/web/downloads/platform.aspx - ISS http://www.iis.net/   AZURE – CLOUD COMPUTING Die Windows Azure-Plattform, ist eine Cloud Computing Plattform, mit der Sie Anwendungen, Dienste und Speicherplatz in den Rechenzentrenten von Microsoft hoch- verfügbar und beliebig skalierbar bereitstellen können. Durch die Cloud werden Risiken und Verpflichtungen drastisch reduziert (Folie 10-12). Doch Cloud Computing ist nicht für jeden geeignet. Bei starken Schwankungen, schwer abschätzbarer Kapazität oder fehlendem Infrastrukturwissen ist Cloud Computing die ideale Lösung. Wer jedoch Wert darauf legt, dass die Daten im eigenen Rechenzentrum gelagert werden, sowie volle Kontrolle über die Infrastruktur behalten möchte, dem würde ich von Cloud Computing abraten. (Folie 13) Azure hilft zu helfen! In machen Jahreszeiten wird der Bedarf an hohen Rechenleistungen stärker benötigt, an anderen wiederum nicht. So ist die Cloud gut dafür geeignet die Leistung in dieser Zeit aufrecht zu erhalten. Ebenso für Ressourcen welche sich unvorhersehbar schnell entwickeln. (Folie 27-29) Windows Azure ist die Cloud-Plattform von Microsoft, welches Teilweise oder komplett verwendbar ist. Es arbeitet mit 3 synchronisierten Datenbanken, zu 50 GB. Links zu dieser Session: - Cloud Computing Tutorial http://www.codefest.at/?tag=/azure-tutorial - Cloud Computing http://www.microsoft.com/cloud/ - Azure http://www.microsoft.com/windowsazure/     SILVERLIGHT Silverlight ist ein Vektorbasierter Browser Plug-In, welches für Windows wie auch Apple Macintosh angeboten wird (Internet Explorer, Mozilla Firefox und Safari). Für Linux wird es mit der Zustimmung und Unterstützung von Microsoft Moonlight angeboten. Durch die Vektor Basis sind sowohl Adobe Photoshop Datein, als auch Adobe Illustrator Dateien importierbar. Programmiert wird in XAML (aXtensible Applicaton Markup Language) und die integrierten Brushes legen das Aussehen der Objekte fest: Einfarbig, Farbverlauf, Bild sowie Medien. (Folie 6-15) Es gibt ein flexibles Layout System, wo die Bühne zwar fixiert ist, jedoch das Gitter beweglich bleibt. - Silverlight http://www.silverlight.net/ - Moonlight http://www.mono-project.com/Moonlight - Install Moonlight http://www.go-mono.com/moonlight/ - Was ist Moonlight http://de.wikipedia.org/wiki/Microsoft_Silverlight     WINDOWS PHONE 7 Das Konzept vom neuen Windows Phone 7 legt großen Wert auf Design. Einfach, klar, modern. Die Plattform integriert ansprechendere, mächtiger und einfachere Apps und die Hardware soll einheitlich funktionieren. “METRO IST UNSERE DESIGN SPRACHE. WIR NENNEN SIE METRO, DENN SIE IST MODERN UND KLAR. SIE IST SCHNELL UND IN BEWEGUNG.” Im Vordergrund stehen das Individuum sowie die Aufgaben und es hilft Informationen und Anwendungen zu organisieren. Durch User Experience können Sie sich von Metro inspirieren lassen und einen guten Mittelweg zwischen dem Metro Grundprinzip und Ihre Firmen-Stil finden. “DIE WICHTIGEN ELEMENTE SIND SCHRIFT UND INHALT.” Farbe zur optischen Gestaltung. Farbe für personalisierte Oberflächen. Farbe um Hierarcheiren zu unterstreichen. Selbst die Typografie lässt sich userfreundlich individuell gestalten. Das Windows Phone 7 beherbergt ein Startmenü, welches mir ermöglicht meine wichtigsten Apps, in einem Überblick, anzulegen. Mit einem Scroll nach rechts ,zeigt es mir eine detaillierte Liste mit all meinen Anwendungen.     Metro beinhaltet eine ganz neue Art von Panorama. Hierbei wird das Hintergrundlayout nicht dem Display angepasst, sondern zeigt nur einen Ausschnitt aus einem größerem, querformatigem Bild auf dem man scrollen kann. Auf der Hardware findet man 3 festgelegte Buttons. Start, search und Back. Der Back Button hat allerdings noch einen zusätzlichen Nutzen. Mit diesem kann man nicht nur einen Schritt zurück gehen. Man kann jeglichen Schritt zurück verfolgen. Hierbei zählt auch das Startmenü als aktiver App.   Der Marketplace Hub Hier werden die verschiedensten Apps angeboten, inklusiver Produktbeschreibung, Benutzerkommentaren,  Screenshots, sowie optional: Spiele-Ratings (“FSK”). Ebenso erhält man Benachrichtigungen über Apps Updates im Marketplace. Es erleichtert das finden von Apps und Spielen und ist direkt vom Phone aus möglich. Zusätzlich besteht die Möglichkeit, vor dem Kauf, eine Demoversion zu Testen und anschließend mit Kreditkarte oder auch anhand des Mobilbetreibers zu bezahlen. Silverlight und Windows Phone 7 Durch Silverlight und Expression Phone ist es möglich eigene Apps zu kreieren. Simpel, elegant und die eingebauten Controls passen sich an die Theme Farbe an.     - Infos Windows Phone 7 http://de.wikipedia.org/wiki/Windows_Phone_7 - Marketplace Hub http://marketplace.windowsphone.com/ - Download Silverlight am Windows Phone 7 http://www.silverlight.net/getstarted/devices/windows-phone/ - Windows Phone 7 Webcasts von Max Knor http://channel9.msdn.com/Tags/winphone7at         ZUSAMMENFASSUNG & RESSOURCEN für Designer Insgesamt war es eine Fülle an Content für einem Tag und der Fokus der Session lag Hauptsächlich auf Entwicklung. Deshalb finden Sie hier noch folgend weiterführend links, sowie gut aufbereitete .pdfs für interessierte am design von windows phone + silverlight apps: UI Design and Interaction Guide for Windows Phone 7 (.pdf) Dient als allgemeine Erklärung; Wie funktioniert das neue Windows Phone 7. Wie wurden diverse Apps aufbereitet. Windows Phone Design System - Codename Metro (.pdf) Hier wird die Designphilosophie kurz und knackig erklärt. Application Bar Best Practices for Windows Phone Dieses Thema enthält Design-Überlegungen und Empfehlungen für die Verwendung einer Application Bar in Ihrer Anwendung. http://msdn.microsoft.com/en-us/library/ff431806(v=VS.92).aspx             Zum Schluss möchte ich einen Einblick in Microsoft Expression Studio 4 geben, da dies das Thema sein wird, mit welchem ich mich die nächsten 6 Monate überwiegend beschäftigen werde. Expression Blend Blend wurde als Pendant zur Flash entwickelt, jedoch liegt der Schwerpunkt stärker im Design und bereits mit wenigen bis kaum vorhanden Skriptkenntnissen ist es möglich schöne Ergebnisse zu erzielen. Expression Design Gilt als ich als Gegenstück zu Illustrator bzw Firefox. Jedoch sind zusätzliche nützliche Features vorhanden und das weiter verarbeiten in Expression Web geht wesentlich einfacher. Expression Web Web dient zur Webprogrammierung. Hierbei ist es möglich das Layout ohne weiteres von Expression Design zu  übernehmen.     Expression Encoder Dies ist ein Schnittprogramm, welches durch einfache Bedienung Hobbycutter unterstützen kann.           Ich hoffe mit meinem Blog Post eine gute Zusammenfassung über die Roadshow verfasst zu haben, und werde weiters über Expression Studio 4 posten. Windows Phone Design System - Codename Metro (1).PDF (872,14 kb) UI Design and Interaction Guide for Windows Phone 7 v2.0.pdf (11,95 mb) 1 - Web.pdf (1,80 mb)2 - Windows Azure.pdf (1,77 mb)4 - Phone 7 Plattform.pdf (3,13 mb)3 - Silverlight.zip (900,18 kb)5 - Phone 7 Silverlight.zip (2,24 mb)

PHP Anwendungen einfacher in die Cloud bringen

Von Jürgen Mayrbäurl  Autor Feed 22. September 2010 13:43
Vorgestern wurde auf der Open Source India 2010 die Verfügbarkeit von neuen PHP Entwicklertools und SDKs (Software Development Kits) für die Windows Azure Platform bekanntgegeben. Damit wird es für PHP Entwickler einfacher Applikationen in Windows Azure zur Verfügung zu stellen. Windows Azure Companion ist ein neues Werkzeug, das eine einfache Installation und Konfiguration der PHP Runtime, des PHP Frameworks und PHP Web Anwendungen ermöglicht. Nachfolgend eine kurze Beschreibung der Konfiguration um eine PHP Anwendung mittels Windows Azure Companion auf Windows Azure deployen zu können: Die genauen Details finden Sie auf der Azure Companion Website ....

Broschüre: Microsoft Entwicklungswerkzeuge

Von Gerwald Oberleitner Autor Feed 21. September 2010 14:52
Sie hätten gerne einen aktuellen Überblick zu den Microsoft Entwicklungswerkzeugen ? Wir bieten Ihnen in der Broschüre “Microsoft Entwicklungswerkzeuge”: einen Überblick zu allen Visual Studio 2010 Versionen eine Vergleichsmatrix der wichtigsten Funktionen (auf der äußeren Umschlagseite) Team Foundation Server im Kurzüberblick Vorteile einer subscription Kurzübersicht zur Microsoft Expression Produktfamilie (die Designwerkzeuge von Microsoft) die neuen Werkzeuge für Test & Qualitätssicherung Sharepoint Entwicklung

ASP.NET: Kritische Sicherheitslücke

Von Andreas Aschauer Autor Feed 21. September 2010 11:28
Der Chef der Microsoft Developer Division, Scott Guthrie, hat vor kurzem in seinem Blog auf eine kritische Sicherheitslücke, welche ASP.NET Versionen von 1.0 bis 4.0 betrifft hingewiesen. Durch gezieltes Erzeugen von Fehlern am Webserver, liefert ASP.NET dem Client Fehlerinformtionen zurück. Besser bekannt als die gefürchteten rot – gelben ASP.NET Errorpages. Diese Informationen können durch gezieltes Ausnutzen, dazu verwendet werden beliebige Dateien vom Webserver zu laden. Auch geschützte, ausgeblendete Dateien wie die web.config Datei. Das Gute ist, dass dieses Verhalten in einem Produktionssystem nicht auftreten sollte, da man dort, die ASP.NET integrierten Fehlerseiten, normalerweise durch eigene Error Pages ersetzt. Tut man dies, nimmt man dem Leak die Funktionsgrundlage und ist auf der sicheren Seite. Sollte dies nicht geschehen sein, kann man das sehr einfach in der entsprechenden web.config Datei ändern. Dazu lediglich in der system.web Sektion <customErrors mode=”Off”/> ändern auf <customErrors mode=”On” defaultRedirect=”~/ErrorPage.html”/> Weitere Informationen und Links: TechNet Team Blog Austria - ASP.NET Sicherheitslücke Important ASP.NET Security Vulnerability

Web Programmierung – Projekttagebuch ASP.NET Teil 6 - Sicherheitskonzept

Von Kurt Ulrich Autor Feed 23. August 2010 15:26
Bevor ich weitere Seiten bastle, habe ich mich mit den Zugriffsrechten auseinandergesetzt und – aufbauend auf die Übersicht aus Teil 5 – ein Menü zusammengestellt. Dabei bin ich auf http://msdn.microsoft.com/de-de/library/ms178418%28VS.80%29.aspxaurauf die Datei web.sitemap gestoßen. Diese entsprechend meiner gewünschten Menüstruktur aufgebaut, kann ich diese ganz einfach über eine SitemMapDataSource an einen TreeView binden. Auf http://msdn.microsoft.com/de-de/library/ms178428%28VS.80%29.aspx fand ich die entscheidenden Hinweise, wie ich entsprechend der Rolle des eingeloggten Benutzer einzelne Menüpunkte ausblenden kann. Somit stehen nun jedem Benutzer genau jene Menüpunkte zur Verfügung, für die er auch eine Berechtigung hat. Um den Zugriff auf die Seite durch Direkteingabe des Seitennamens zu unterbinden, musste ich noch eine web.config-Datei in jedem Verzeichnis erstellen, in dem die Zugriffsrechte beschränkt sind. Das sieht dann z. B. so aus: ?xml version="1.0"?> <configuration>     <system.web>         <authorization> <allow roles="Vereinsverantwortlicher"/> <allow roles="Vereinsverwalter"/>             <deny users="*"/>         </authorization>     </system.web> </configuration> Da ich die Anwendung so konzipiert habe, dass jeder Benutzer nur bei einem Verein ist, habe ich eine Session-Variable für die VereinID eingeführt, die sich beim Aufruf einer Seite automatisch generiert und dann bis zur Abmeldung zur Verfügung steht. Damit können dann einfach bei jedem Datenbankzugriff genau jene Zeilen selektiert werden, die zum jeweiligen Verein gehören. Nächster Schritt: Neue Personen anlegen. Der Benutzer legt ein neues Vereinsmitglied (in der Tabelle ‘Person’) an. Dabei soll automatisch ein neuer Benutzer angelegt werden, dessen Zugangskennung sich aus Vor- und Zunamen (eventuell mit Ziffernzusatz, wenn schon vorhanden) als Benutzernamen sowie einem automatisch generierten Passwort zusammensetzt. Die Zugangsdaten für das Vereinsmitglied werden diesem automatisch an die eingegebene E-Mail-Adresse übermittelt.

Windows Azure: Erweiterung des Einführungsangebotes (für MSDN Abonnementen)

Von Gerwald Oberleitner Autor Feed 10. August 2010 14:54
Das Abonnement bietet zahlreiche Vorteile unter anderem auch die Möglichkeit Windows Azure ausführlich zu testen. Neben dem Windows Azure Einführungsangebot (introductory offer) beinhaltet das MSDN Abonnement immer ein kostenloses Kontingent um Windows Azure “ausprobieren” zu können. Mit Ende Juli wurde das Einführungsangebot (für Premium, Ultimate und BizSpark Abonnementen) von 8 auf 16 Monate erweitert womit für MSDN Abonnenten - in diesen Leveln -  für maximal 16 Monate folgende Leistungen zur Verfügung stehen: Einführungsangebot (NEU: jetzt 16 Monate) Visual Studio inkl. MSDN: Premium, Ultimate & BizSpark Windows Azure Small compute instance 750 Std. / Monat Storage 10 GB Transactions 1.000.000 / Monat AppFabric Service Bus Connections 5 / Monat Access Control Transactions 1.000.000 / Monat SQL Azure Web Edition databases (1GB) 3 Data Transfers Europe and North America 7 GB in / Monat 14 GB out / Monat   Nach dem Auslaufen des Einführungsangebotes oder für Abonnenten im Professional Level sind im Abo folgende Leistungen inkludiert: 50 Azure Compute Hours  100 Azure Compute Hours  250 Azure Compute Hours  3 GB Azure Storage mit 300.000 Speicher-Transaktionen  5 GB Azure Storage mit 500.000 Speicher-Transaktionen  7,5 GB Azure Storage mit 750.000 Speicher-Transaktionen  1 GB SQL Azure 1 GB SQL Azure  2 GB SQL Azure 2 GB eingehenden und 4 GB ausgehenden Traffic (EU Rechenzentrum) 3 GB eingehenden und 6 GB ausgehenden Traffic (EU Rechenzentrum) 5 GB eingehenden und 10 GB ausgehenden Traffic (EU Rechenzentrum) 5 Azure AppFabric Verbindungsteilnehmer 100.000 Azure AppFabric Zugriffsprüfungen  5 Azure AppFabric Verbindungsteilnehmer und 200.000 Azure AppFabric Zugriffsprüfungen  5 Azure AppFabric Verbindungsteilnehmer und 500.000 Azure AppFabric Zugriffsprüfungen  Für alle Angebote ist eine Anmeldung und das Anlegen eines Windows Azure Accounts erforderlich. Um eine etwaige Nutzung über dem inkluiderten Limit abrechnen zu können kann das Hinterlegen einer Kreditkarte erforderlich sein. Sollten Sie in einem Unternehmen arbeiten und keine Firmenkreditkarte zur Verfügung haben besteht auch die Möglichkeit über eine Rechnung (Volume License Vertrag oder vorherige Kreditprüfung vorausgesetzt) zu bezahlen.

Web Programmierung – Projekttagebuch ASP.NET Teil 5 – Überarbeitung Datenbankkonzept und Gesamtkonzept.

Von Kurt Ulrich Autor Feed 6. August 2010 18:22
Nach einem Hinweis eines Lesers habe ich den Datenbankaufbau nochmals überarbeitet und einige künstliche Schlüssel entfernt. Hier die Übersicht als pdf. Nach langem Überlegen bin ich zu dem Entschluss gekommen, den grundsätzlichen Aufbau meiner Anwendung nochmals zu ändern. Die Anwendung wird nun komplett zweigeteilt; 1. Teil: Vereinsverwaltung: Auf der default-Seite kann man sich nur einloggen oder einen Verein anlegen. Nach der Anlage bzw. nach dem Einloggen kann die eigentliche Vereinsverwaltung beginnen. Je nach Berechtigung sollen dann verschiedene Menüeinträge zur Verfügung stehen. 2. Teil: Externe Benutzung: Hier sollen sich Teilnehmer von Events/Bewerben anmelden können. Eine Übersicht der Seiten bzw. Funktionen gibt es hier. Fast alles, was ich bisher gemacht habe, kann ich auch weiterverwenden; das meiste noch mit kleinen Korrekturen.

Interessante Silverlight Anwendungen: AX Cash

Von Mario Meir-Huber Autor Feed 6. August 2010 10:50
Beim Browsen bin ich über eine weitere, sehr interessante Silverlight Anwendung gestoßen: AX Cash. Hierbei handelt es sich um eine Ad-Hoc Kasse, welche von überall erreichbar ist. Dabei werden die einzelnen Kassen dezentral verwaltet. Zusätzlich werden auch Handscanner per USB und Bon-Kassen unterstützt. Auf der Roadmap steht ausserdem die Unterstützung von EC- und Kreditkarten sowie eine Anbindung an Windows Azure. Besonders interessant an dieser Anwendung ist die Tatsache, das hier verschiedene Techniken von Silverlight genutzt werden. Zum einem sind es die RIA Services, die USB-Unterstützung (Annahme: per COM) und der Fakt, das die Anwendung von überall erreichbar ist (Web basiert). Eine Demo der Anwendung ist unter www.ax-cash.de erreichbar. Viel Spaß beim ausprobieren! Mario Meir-Huber Web: www.codeforce.at Twitter: www.twitter.com/mario_mh

Visual Studio LightSwitch

Von Mario Meir-Huber Autor Feed 6. August 2010 00:33
Seit kurzem ist die Visual Studio Familie um ein Produkt reicher geworden: Visual Studio LightSwitch. Hierbei handelt es sich um ein Produkt, welches die Entwicklung vereinfachen soll. Kurzum: Rapid Application Development. In ersten Kommentaren wurde es häufig mit Access verglichen, was jedoch keine Ähnlichkeiten zu dieser Software hat (bis auf einige Grundideen). Interessant wird Visual Studio LightSwitch dann, wenn wenig Budget oder Zeit zur Verfügung steht. Visual Studio LightSwitch ist als AddOn in Visual Studio 2010 integriert. Installiert man LightSwitch, ist es bereits über neue Templates einsatzbereit. Entwickelt wird auf Basis von LightSwitch stark datengetrieben. In der obigen Abbildung sieht man, wie man mit den Daten vorgehen möchte. Hierbei kann man sich zu lokalen Datenbanken ebenso wie zu Cloud Datenbanken verbinden (Hinweis: SQL Azure). Datenquellen können aber auch SharePoint Listen sein. Im nächsten Schritt werden Screens erstellt. Screens sind Sichten auf die Daten, welche im vorigen Schritt erstellt wurden. Das tolle an der Sache ist nun, das diese Screens Silverlight Elemente sind. Damit ist die neu entwickelte Anwendung für viele Plattformen und auch im Web verfügbar. Oft wird kritisiert, das so schnell erstellte Anwendungen kaum erweiterbar sind. Anwendungen, welche mit LightSwitch erstellt wurden, sind jedoch auf beliebige Weise erweiterbar. Eine detaillierte Beschreibung zu LigthSwitch gibt Tom Wendel (deutsch) hier oder Jason Zander (englisch) hier. Die Beta von LightSwitch wird es ab 23. August geben. Wir werden dann natürlich wieder weiter berichten. Mario Meir-Huber Web: www.codeforce.at Twitter: www.twitter.com/mario_mh

17. August 2010, Wien: RESTful APIs im .NET Framework, treffen der DotNet OpenSpace Pirates

Von Mario Meir-Huber Autor Feed 5. August 2010 20:44
RESTful APIs gewinnen in der IT als Architekturstil ständig an Bedeutung. Betrachtet man Windows Azure oder SharePoint 2010, so fällt sofort auf, wie wichtig REST in der Cloud ist. In diesem Usergroup Meeting wollen wir uns gänzlich dem „REST way of .NET“ widmen. Hierfür wird zu beginn definiert, was RESTful APIs ausmacht. Hierbei werden die Grundlagen für einen REST-basierenden Architekturstil beschrieben. Anschließend werden einige low-level REST-Queries mit .NET durchgeführt. Hierbei steht das Verständnis von REST im Vordergrund. Am Ende werden die WCF Data Services und OData durch besprochen. Wie jedes Open Space Pirates treffen ist auch hier sehr viel Flexibilität im Treffen, das heißt das sich jeder einbringen kann und auch soll. INFO: Dieses Treffen findet erstmalig bei Microsoft Österreich statt! Zeit: 17. August 2010, 18h Ort: Microsoft Österreich GmbH Am Europlatz 3 1120 Wien Anmeldung: http://dotnetopenspace.ning.com/ Organisator: Mario Meir-Huber Mario Meir-Huber Web: www.codeforce.at Twitter: www.twitter.com/mario_mh

20.9-28.9. – Innsbruck, Linz, Graz – Developer Roadshow

Von Rolf Mistelbacher Autor Feed 3. August 2010 07:39
nitty gritty [das Wesentliche] Besuchen Sie uns auf der Developer Roadshow und holen Sie sich umfangreiches Know-How zur Software-Entwicklung für Cloud, Web und Mobile! Sie erhalten das Basis-Know-How in folgenden Bereichen: Entwicklung von Web-Anwendungen mit Microsoft Technologie: Programmieren mit ASP.NET, Verwendung des Web App Installer und Web App Gallery. Erste Schritte mit der Cloud Computing Plattform von Microosft, Windows Azure. Entwicklung von Rich-Internet-Applications mit Silverlight 4.0. Wie wird Silverlight programmiert und mit welchen Tools arbeitet der Designer? Windows Phone 7: Basis Einführung in die Entwicklung von Windows Phone 7 Apps mit Silverlight und XNA. Wie funktioniert der Marktplatz und wie werden Apps deployed & getestet. Zielgruppe: Anfänger + Fortgeschrittene Programmierer, Entwickler die Ihr Wissen auffrischen wollen. Montag, 20.9.2010, Innsbruck Jetzt Anmelden! Mittwoch, 22.9.2010, Linz Jetzt Anmelden! Dienstag, 28.9.2010, Graz Jetzt Anmelden! Für Interessierte in Wien und Umgebung: Wir werden im Herbst einige Events für Sie anbieten – einfach Codefest RSS Feed abonnierenoder unsere Aktivitäten auf Facebook verfolgen! Agenda: 09:00 - 10:10 Die Microsoft Web-Plattform (IIS, Web App Installer & Gallery) – alles On-Premise 10:10 - 10:25 Pause 10:25 - 11:35 Einführung in Cloud Computing mit Windows Azure 11:35 - 11:50 Pause 11:50 - 13:00 Rich-Internet Applications mit Silverlight 4.0 13:00 - 13:45 Lunch + Networking 13:45 - 14:55 Einführung in Windows Phone 7 Entwicklung 14:55 - 15:10 Pause 15:10 - 16:20 Windows Phone 7 Applikationen mit Silverlight entwickeln        Der Vortragende: Max Knor Max ist seit 2006 Developer Evangelist bei Microsoft Österreich und beschäftigt sich mit dem gesamten Microsoft Developer Technology Stack. Ist Ihr Unternehmen auch Microsoft Partner? Zeitgleich zur Developer Roadshow findet die Microsoft Partner Roadshow rund um die Themen Windows Phone 7 | "Aurora Server" | Windows Intune | onlineCRM | "SBS 7” statt. Weitere Informationen finden Sie auf der Microsoft Partner Network Website.  Haben Sie Fragen rund um die Developer Roadshow vorab? Senden Sie uns über das Kontaktformular oder die Kommentare hier im Blog Post Ihre Anregungen. Wir freuen uns auf Ihren Besuch! Developer & Platform Group Austria

Ressourcen + Update zum Thema Cloud + Azure

Von Rolf Mistelbacher Autor Feed 28. July 2010 22:17
Ich bin gerade 2 Wochen in Redmond zu Gast und arbeite im Marketing Team der DPE an kommenden Kampagnen im Herbst mit. Dabei stolpere ich über so manche Ressource die mir bis jetzt unbekannt war, oder auf Codefest bisher nicht erwähnt wurde. Wer die Ideastorm Initiaitive von Dell kennt – das Prinzip gibts auch bei Microsoft, und zwar für Windows Azure: Das Product Team nimmt unter http://windowsazure.uservoice.com Feature Requests für die Weiterentwicklung von Azure entgegen. Wer heute schon mit Azure arbeitet kann hier mitwirken und diskutieren, oder einfach nur mitlesen was die Community wünscht. Außerdem: Für alle die eine MSDN Subscription besitzen gibt es good news: Das 8 Monats Azure Intro Offer wurde auf 16 Monate erweitert! Nicht fehlen darf eine eigene Fanpage rund um Azure in Facebook – Wer Facebook längst als Startseite für seine tägliche News-Dosis verwendet kann so einfach up2date bleiben. Das wird ergänzt durch: Ein eigener YouTube und Twitter Channel. Lieber RSS? -  das Azure Team Blog auf MSDN. Have fun in the Cloud :)

Web Programmierung – Projekttagebuch ASP.NET Teil 4 – Verknüpfung Anmeldedaten und Benutzerdaten

Von Kurt Ulrich Autor Feed 27. July 2010 22:29
Bevor ich weitere Seiten mit Vereinsverwaltungsinhalt bastle, wollte ich zuerst noch eine Userverwaltung mit Anmeldung integrieren. Wenn man ein neues Projekt mit der Vorlage  “ASP.NET Webanwendung” beginnt, kommt ein Template mit einer integrierten Userverwaltung. Davon habe ich mir relevante Teile in mein Projekt rüberkopiert und – einen hartnäckigen Laufzeitfehler erhalten. ("Could not find stored procedure 'dbo.aspnet_CheckSchemaVersion'.") Im Web habe ich die Fehlermeldung auch oft angetroffen, aber leider bezogen sich alle gefundenen Hilfestellungen auf alte Versionen und die angeführten Lösungen haben bei mir nichts gebracht. Die Ursache des Problems habe ich dann doch noch selbst gefunden (War ja auch selber schuld): Ich habe meinen Computer gewechselt und alle Tabellen inklusive der Userverwaltungs-Tabellen mit meinem SQL-Skript, das ich auch letzte Woche gepostet habe, neu erzeugt. Offensichtlich macht aspnet_regsql aber noch anderes, als nur diese Tabellen erzeugen. Die Lösung: Mit aspnet_regsql die Userverwaltung entfernt und dann wieder neu installiert. Und – welch ein Wunder – das Problem war gelöst. Vielleicht geht’s auch ohne Deinstallation; das habe ich aber nicht mehr probieren wollen. Heute hatte ich die nächste Herausforderung mit der Userverwaltung. Ich wollte die beiden Seiten zur Gruppen- und Personenverwaltung, die bisher ja schon ganz gut funktionierten, so umgestalten, dass in der DropDownList nur mehr jene Vereine aufscheinen, für die der eingeloggte User verantwortlich ist. Die SQL-Abfrage dazu mit WHERE Klausel war schnell erstellt. Nur – woher nehme ich die Daten des angemeldeten User? Ich habe nach langem Suchen dann auf http://www.velocityreviews.com/forums/t237583-asp-net-2-0-membership-current-user.html den entscheidenden Hinweis gefunden, (MembershipUser u = Membership.GetUser(HttpContext.Current.User.Identity.Name) u hat dann eine public property UserName, die sich dann mit der Tabelle aspnet_Users vergleichen lässt. Als nächstes versuche ich, mir ein User Control zu bauen, mit dem neue Vereinsmitglieder erfasst werden können und die Zugangsdaten dann gleich per E-Mail zu versenden.

Entwickler Wettbewerbe:

Wettbewerbe

Entwickler Events:

Developer Events

App für Windows 8, Windows Phone oder/und Azure? Diese Events zeigen Dir, wie es geht:

Mehr Information

Aktuelle Downloads

Visual Studio Downloads
 
Windows Azure Free Trial
Instagram
CodeFest.at on Facebook

Datenschutz & Cookies · Nutzungsbedingungen · Impressum · Markenzeichen
© 2013 Microsoft. Alle Rechte vorbehalten · BlogEngine.NET 2.7.0.0 · Diese Website wird für Microsoft von atwork gehostet.
powered by atwork