SharePoint Adminisztráció Hódy Árpád ahody@microsoft.com rendszermérnök Microsoft Magyarország
Amiről szó lesz Űrlap alapú hitelesítés konfigurálása Mi ez? Mikor? / Miért? / Hogyan? Mire figyeljünk? Új funkcionalitások telepítése Feature / Solution Framework avagy tulajdonságok és megoldás csomagok telepítése Sok - Sok DEMÓ (már megint )
Mi ez? A Windows hitelesítés alternatívája Szállított providerek ASP.NET 2.0 beágyazható hitelesítés modelljére épül Lényege: Nem kell hozzá Windows Domain Szállított providerek SQL (.Net része - SqlMembershipProvider ) Active Directory (.Net része - ActiveDirectoryMembershipProvider ) LDAP (SharePoint Server része) Saját egyéni (Software Development Kit – SDK )
Mikor? A. Szeretnénk egy Extranetes web helyet. A tartalom szeretnénk ha ugyanaz maradna mint az intranetes A felhasználókat szeretnénk belülről, az intranetes webhelyről kezelni B. Internetes web helyet szeretnénk felhasználó regisztrációs rendszerrel C. Intranet portált szeretnénk ott ahol nincs Windows Domain
Miért? Az extranetes felhasználókat nem szeretnénk AD-ban tárolni Biztonsági okokból Szervezési okokból Nem szeretnénk Windows hitelesítést Pl.: Design okokból
Hogyan? Új Web alkalmazás létrehozása / egy létező kiterjesztése ASP.NET 2.0 tagság és szerepkör SQL adatbázis, és felhasználók létrehozása A konfigurált web alkalmazás, és központi adminisztrációs web alkalmazás web.config fájljának kiegészítése Űrlap hitelesítés bekapcsolása
Web alkalmazás kiterjeszétse Central Admin…App Management…Create or Extend Web App…Extend an Existing Web Kiválasztani a kívánt web alkalmazást IIS Virtuális kiszolgáló létrehozása Pl. másik port-ra / host header értékre Zóna megadás pl. Extranet Eredmény: 2 webhely / 2 hitelesítés / 1 tartalom
Adatbázis létrehozás Legegyszerűbb azt használni ami van Létrehozás: Az ASP.NET 2.0 része a tagsági és szerepkör adatbázis (membership & role) Létrehozás: .Net FW könyvtárban: aspnet_regsql.exe (%WinDir%\Microsoft.NET\Framework\v2.0.50727). Varázslóban: Next – Next – Finish (persze azért adatbázis és szervernév megadás)
Web.Config lépésről lépésre A Web.config fájlok alapértelmezett helye: C:\Inetpub\wwwroot\wss\VirtualDirectories\zónanév PeoplePickerWildcard bejegyzés felvétele Kapcsolódási string megadása a </SharePoint> és a <system.web> közé A tagság és szerepkör tag-ek megadása közvetlenül a <system.web> után: </SharePoint> <connectionStrings>...</connectionStrings> <system.web> <Membership>…</Membership> <RoleManager>…</RoleManager> … </system.web>
PEOPLEPICKERWILDCARDS: <add key=“MyMembershipProviderName” value=“%” /> Kapcsolódási string: <add name="AspNetSqlProvider" connectionString="server=kiszolgáló; database=adatbázisnév; Trusted_Connection=True" /> Proiderek: <membership defaultProvider="AspNetSqlMembershipProvider"> <providers> <remove name="AspNetSqlMembershipProvider" /> <add connectionStringName="AspNetSqlProvider" applicationName="/" name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a” enablePasswordRetrieval="false” enablePasswordReset="true” requiresQuestionAndAnswer="false” requiresUniqueEmail="false” passwordFormat="Hashed” maxInvalidPasswordAttempts="5” minRequiredPasswordLength=”5” minRequiredNonalphanumericCharacters="0” passwordAttemptWindow="10” passwordStrengthRegularExpression=”” </providers> </membership> <roleManager enabled="true" defaultProvider="AspNetSqlRoleProvider"> <remove name="AspNetSqlRoleProvider" /> <add connectionStringName="AspNetSqlProvider" applicationName="/" name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/> </roleManager>
Web.Config – Central Admin Utolsó lépés a CA oldalra is bemásolni ugyanezt. KIVÉVE: Az alapértelmezett provider a RoleManager-nél AspNetWindowsTokenRoleProvider kell hogy legyen, mert nem szeretnénk ha űrlap alapú lenne a központi kezelőfelületünk. Normál esetben a SSP oldalra is. <roleManager enabled="true" defaultProvider="AspNetWindowsTokenRoleProvider">
Űrlap hitelesíés beállítása Central Admin…App Mgmt…Authentication Providers Web alkalmazás kiválasztása Forms hitelesítés kiválasztása Tagság és szerepkör provider megadása (a web.config fájlban szereplő nevek) Membership = AspNetSqlMembershipProvider Role = AspNetSqlRoleProvider Kliens integráció kikapcsolása (úgyse megy, de erről majd később)
Öszefoglalva madártávlatból 1. CA-ra / SSP-re Connection / Member / Role Role Defaultot átírni: AspNetWindowsTokenRoleProvider 2. Formosra 3. Ha van intranetes akkor arra is lehet.* * Nem kötelező, csak ha szeretnénk Windows Hitelesítéssel az SQL-es felhasználóknak jogot adni.
demó Űrlap alapú hitelesítés beállítása SQL Membership provider használatával demó
Űrlap alapú hitelesíés Specifikus jellemzők Nevek feloldása Csak pontos csoportnevek feloldása SQL Role provider használatával. PL.: ha csoportnév „olvasók” akkor az „olvas” nem oldódik fel Web SSO (pl. ADFS) használatakor minden név feloldódik, akkor is ha nincs ilyen Felhasználók Űrlap felhasználó <> Windows felhasználó!!! Még akkor sem ha AD-ból hitelesítünk LDAP provider-rel. Célcsoport támogatás nem működik névtelen elérés és űrlap alapú hitelesítés esetén (SP1…)
Űrlap alapú hitelesíés Specifikus jellemzők (folyt.) Kliens integráció csökken Ami nincs: Közvetlen mentés Böngészős elérés Access-ben történő elérés Új dokumentum létrehozása gomb nem működik Exportálás Excel-be SharePoint Designer-es szerkesztés korlátozott Megoldás: a webhely kezelése a belső Windows hitelesítéses felületről.
Feature Framework / Solution Package Csomagokba szervezett egyedi fejlesztések melyeknek számos előnye van: Egységként telepíthetőek és távolíthatóak el A telepített csomagok aktiválhatóak / deaktiválhatóak A csomagoknak hatásköreik vannak (Farm,Web alkalmazás, webhely kollekció, webhely) Függőségek, verziók támogatása Jól kereshető az interneten: „SharePoint Features”
Mit tudhat egy feature vagy solution? Röviden szinte mindent Pl.: menük kiegészítése nyomtatás paranccsal Pl.: SQL felhasználók adminisztrálása, logikával űrlapokkal együtt Pl.: egyedi munkafolyamatok, űrlapokkal Pl.: egyedi webhely definíció Pl.: egyedi oszlop média lejátszására Pl.: egyedi továbbfejlesztett kijelzők (CQWP)
Feature-t akarok, de honnan? Előbbi példák és még sok egyéb: http://www.codeplex.com 20 webhely sablon egyedi fejlesztésekkel: http://technet.microsoft.com/en-us/windowsserver/sharepoint/bb407286.aspx Saját feature-k készítése (videók is) http://msdn2.microsoft.com/en-us/library/bb418736.aspx
Solution Telepítés Telepítés a farmra: Eltávolítás: UI Egy Feature magában egy feature.xml és az ebben meghatározott egyéb fájlok egésze. 1 vagy több feature becsomagolva lesz solution package (.wsp) Telepítés a farmra: Elhelyezés az SP tárban: stsadm -o addsolution Timer Job noszogatás stsadm -o execadmsvcjobs Szétszórás az összes gépre: stsadm -o deploysolution Aktiválás stsadm -o activatefeature Eltávolítás: Leállítás és eltávolítás stsadm –o retractsolution Törlés az SP tárból stsadm –o deletesolution UI
Solution telepítés demó
Amiről szó volt A MOSS a hiedelmekkel ellentétben könnyedén AD mentesíthető Az előre készített új funkcionalitások könnyegén, egységként adminisztrálhatóak
Referenciák Dan Attis Blog : Form hitelesítés http://devcow.com/blogs/jdattis/archive/2007/02/23/Office_SharePoint_Server_2007_Forms_Based_Authentication_FBA_Walkthrough_Part_1.aspx http://devcow.com/blogs/jdattis/archive/2007/03/01/Office_SharePoint_Server_2007_Forms_Based_Authentication_FBA_w_MySites_Walkthrough_Part_2.aspx Codeplex: közösségi oldal http://www.codeplex.com
Kérdések és válaszok