KS Portál - Instalační příručka Obsah 1 Podporované prohlížeče....................................................................................................................2 2 Co je potřeba ke zprovoznění KS Portálu.........................................................................................2 3 Jak postupovat při instalaci...............................................................................................................2 Pro Windows Server 2003 (IIS 6)...............................................................................................2 Pro Windows Server 2008 (IIS 7)...............................................................................................2 4 Nastavení DB připojení.....................................................................................................................3 Příklady ConnectionStringu.............................................................................................................3 Pro MSSQL.................................................................................................................................3 Pro Oracle...................................................................................................................................3 Pro ODBC...................................................................................................................................3 Položky DB připojení..................................................................................................................3 Doplňující informace pro Oracle.....................................................................................................3 Ze zkušeností...................................................................................................................................3 5 Přihlašování uživatelů KS Portálu.....................................................................................................4 Formulářové ověřování....................................................................................................................4 Způsob přístupu uživatelů do databáze.......................................................................................4 Integrované ověřování Windows.....................................................................................................4 Způsob přístupu uživatelů do databáze.......................................................................................5 6 Způsob ověření uživatelů..................................................................................................................5 7 Přístupová práva................................................................................................................................5 Řízení přístupu k údajům a operacím..............................................................................................5 Řízení přístupu na data jiných uživatelů (tzv. řádková práva).........................................................6 8 Registrace nových uživatelů v KS Portálu........................................................................................6 Uživatelé se mohou registrovat sami..........................................................................................6 9 Další možnosti nastavení...................................................................................................................6 Sekce
........................................................................................................................6 Zašifrování vybraných sekcí souboru web.config...........................................................................7 10 Postřehy z praxe..............................................................................................................................7
1 Podporované prohlížeče ✔ MS Internet Explorer 8 a vyšší (doporučujeme IE 9 a vyšší) ✔ Mozilla Firefox 4 a vyšší. ✔ Google Chrome Prohlížeč musí mít povolen JavaScript a Cookies (výchozí nastavení).
2 Co je potřeba ke zprovoznění KS Portálu ✔ Windows Server 2008 (Windows Server 2003 SP2). KS Portál potřebuje cca 50 MB místa na webovém serveru. ✔ Běhové prostředí .Net Framework 4 (volně a zdarma ke stažení). Je vhodné mít nejprve nainstalovaný webový server IIS a potom teprve nainstalovat .NET Framewok. V tomto pořadí se Framewok sám zaregistruje do IIS. Pokud toto pořadí nemůžete dodržet nebo nevíte v jakém pořadí byly tyto dvě aplikace naistalovány, spusťte registraci Frameworku do IIS ručně pomocí příkazu (jako správce z příkazové řádky): %windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i
3 Jak postupovat při instalaci Pro Windows Server 2003 (IIS 6) 1. V IIS musí být povoleno rozšíření webových služeb ASP.NET v4.0. Pokud toto rozšíření není v nabídce rozšíření webových služeb, .NET Framework 4 není v IIS zaregistrován. Spusťte registraci Frameworku do IIS ručně pomocí příkazu (jako správce z příkazové řádky): %windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i 2. Kdekoliv na disku vytvořte adresář ksprtl (doporučujeme do adresáře c:\Inetpub\wwwroot\). 3. Do adresáře ksprtl rozbalte obsah souboru ksprtl.zip. 4. Pro skupinu uživatelů Authenticated Users nastavte práva: čtení na adresáři ksprtl včetně jeho obsahu zápisu do podadresářů Logs a Temp 5. V IIS vytvořte nový virtuální adresář s odkazem na fyzický adresář ksprtl (vytvořený v bodě 2). 6. Ve vlastnostech virtuálního adresáře na záložce ASP.NET zkontrolujte odkaz na správnou verzi .NET Fameworku. 7. V souboru web.config (nebo ve vlastnostech virtuálního adresáře) upravte ConnectionString, tak aby odpovídal vašemu DB připojení. (viz. Nastavení DB připojení). Pro Windows Server 2008 (IIS 7) 1. Kdekoliv na disku vytvořte adresář ksprtl (Doporučujeme do adresáře c:\Inetpub\wwwroot\). 2. Do adresáře ksprtl rozbalte obsah souboru ksprtl.zip. 3. Pro skupinu uživatelů Authenticated Users nastavte práva: čtení na adresáři ksprtl včetně jeho obsahu zápisu do podadresářů Logs a Temp 4. V IIS vytvořte novou webovou aplikaci s odkazem na fyzický adresář ksprtl (vytvořený v bodu 1).
5. V základním nastavení vytvořené webové aplikace se ujistěte, že aplikace běží ve fondu aplikací (aplikačním poolu), který využívá .NET Framework v4. 6. V souboru web.config (nebo ve vlastnostech webové aplikace) upravte ConnectionString, tak aby odpovídal vašemu DB připojení. (viz. Nastavení DB připojení).
4 Nastavení DB připojení Připojení na databáze MSSQL a Oracle je již implementováno. K ostatním databázovým platformám je možné přistupovat prostřednictvím ODBC. Použité ODBC musí podporovat DotNet. Zákazník by měl získat ODBC od svého dodavatele databáze (my jej nedodáváme). Databázové připojení v KS Portálu (ASP.NET aplikaci) definuje ConnectionString, který se nachází v sekci v souboru web.config v hlavním adresáři aplikace.
Příklady ConnectionStringu Pro MSSQL
Pro Oracle
Pro ODBC
Položky DB připojení name - jméno DB připojení server - název nebo IP adresa počítače, na kterém běží DB server database - název databáze, ke které bude chtít být připojeni uid - login pro přístup do databáze pwd - heslo pro přístup do databáze
Doplňující informace pro Oracle Na serveru s IIS je potřeba mít stejnou verzi klienta pro Oracle jako je Oracle databáze. Na adresář Oracle_home (adresář oracle clienta), nadřízené a podřízené složky musí mít přístup účet Authenticated Users a to právo Read&Execute. Pokud nejsou práva nastavena správně objeví se chyba: System.Data.OracleClient requires Oracle client software version 8.1.7 or greater. Verze klienta pro Oracle musí být správná také z hlediska architektury 32bit/64bit Windows, na kterých běží. Je potřeba zkontrolovat zda v connectionstring je ve jménu uživatele uvedeno jméno schématu do kterého se má KS Portál hlásit.
Ze zkušeností Pokud KS Portál zahlásí databázovou chybu ORA-12638 (jedná se o zdokumentovanou chybu Oracle): In fact this kind of error (ORA-12638) has many causes. I had it in 10.2.0.3 due to a bug. And also I had it in 9.2.0.8 because we had some troubles with our Active Directory. When the parameter SQLNET_AUTHENTIFICATION_SERVICES is set to NTS then before the connexion the
Oracle server ask for a "ticket" to the Active Directory. And, if it cannot retrieve a valid "ticket" then we have the error ORA-12638. So finally, I set SQLNET_AUTHENTIFICATION_SERVICES = (NTS,NONE) so the OS authentification is not compulsory ant we didn't have the error ORA-12638 anymore. Jak je uvedeno výše v anglickém textu, tato chyba může mít více příčin. Problém vzniká tím, že se Oracle snaží uživatele, který přistupuje do DB ověřit proti Active Directory. Do DB přistupujete pod uživatelem, který není naveden v Active Directory. Řešením je vypnout ověření DB uživatele proti Active Directory. Obecně se doporučuje v konfiguračním souboru sqlnet.ora (buď na serveru nebo na klientovi) zaměnit řádek: SQLNET.AUTHENTICATION_SERVICES= (NTS) za SQLNET.AUTHENTICATION_SERVICES= (NONE). Lepším řešením je upravit soubor sqlnet.ora na straně Oracle klienta (na počítači, kde běží KS Portál). Tím se neovlivní přístup jiných Oracle klientů. Pokud běží OracleClient na serveru s anglickými window je nutné přenastavit národní nastavení a to následujícím způsobem. NLS_LANG parametr je uložen v registrech pod HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOMEID\NLS_LANG ve vnořeném klíči,kde ID je unikátní číslo identifikující Oracle home. Z anglické či jiné hodnoty to nastavte na CZECH_CZECH REPUBLIC.EE8MSWIN1250
5 Přihlašování uživatelů KS Portálu KS portál nabízí dva typy přihlašování uživatelů: • formulářové ověřování • integrované ověřování Windows
Formulářové ověřování Uživatelé musí při přístupu na portál vyplnit přihlašovací údaje (login a heslo) na přihlašovací stránce. Teprve po vyplnění platných údajů a jejich ověření získají uživatelé přístup do portálu. Na konci relace se uživatele odhlásí kliknutí na „odhlašovací“ tlačítko. • V IIS ve vlastnostech webové aplikace musí být povoleno „Ověřování založené na formulářích“. • V IIS ve vlastnostech webové aplikace musí být povoleno „Anonymní ověření“. • V souboru web.config musí být nastaveno: Způsob přístupu uživatelů do databáze 1. Přístup do databáze pro všechny uživatele pod jedním DB účtem (výchozí). Přihlašovací údaje k tomuto účtu jsou zadány v connectionstringu. Příklad:
2. Přístup do databáze pod vlastním jménem uživatele, v connectionstringu jsou zadány místo jména uživatele a hesla masky, které jsou při vytváření připojení vyměněny za skutečné přihlašovací údaje. Příklad:
Integrované ověřování Windows Uživatelé nemusí vyplňovat přihlašovací údaje (login a heslo). Do portálu se přihlašují
automaticky loginem, pod kterým se přihlásili do Windows. • V IIS ve vlastnostech webové aplikace musí být povoleno „Ověřování systému Windows“. • V souboru web.config musí být nastaveno: Způsob přístupu uživatelů do databáze 1. Do databáze přistupují všichni uživatelé pod jedním DB účtem. Přihlašovací údaje k tomuto účtu jsou zadány v connection stringu. Příklad:
2. Integrované ověřování bez zosobnění. Aplikace KS Portál přistupuje do databáze pod stejným účtem, pod jakým běží sama aplikace KS Portál. Tento uživatel se nastavuje ve vlastnostech aplikačního poolu, pod kterým běží aplikace KS Portál. Příklad:
3. Integrované ověřování se zosobněním. Aplikace KS Portál přistupuje do databáze pod účtem příchozího uživatele. Connection string bude stejný jako v bodě 2. Navíc je potřeba v IIS ve vlastnostech webové aplikace povolit zosobnění.
6 Způsob ověření uživatelů Způsob ověření uživatelů určuje hodnota parametru v souboru web.config v sekci (viz. následující tabulka).
Způsob ověření uživatelů Hodnota
Význam
Nevyplněno (výchozí)
Přihlašovací údaje uživatele se ověřují proti agendě Uživatelé KS Portálu v těžkém klientovi (aplikaci KS Mzdy).
ad
Přihlašovací údaje se ověřují v Active Directory.
eos
Přihlašovací údaje uživatele se ověřují v EOSu.
Tabulka 1: Způsob ověření uživatelů
7 Přístupová práva Řízení přístupu k údajům a operacím Přístup uživatelů je definován prostřednictvím uživatelských rolí. Odkud se mají načítat role uživatelů určuje RoleProvider: • KSRoleProvider – načítá aplikační role z databáze aplikace • ADRoleProvide – načítá aplikační role z Active Directory Nastavení, který provider se má použít, se provádí v konfiguračním souboru aplikace. Jako výchozí je přednastaven KSRoleProvider. Nastavení přístupových práv uživatelským rolím může provádět pouze administrátor KS Portálu. A to přímo v KS Portálu v menu Nastavení / Práva.
Login každého uživatele musí být přiřazen k nějaké roli, jinak nebude mít uživatel přístup k žádné části portálu. Login lze ke konkrétní roli přiřadit v agendě přístupových práv v naší aplikaci KS Mzdy (se kterou je KS Portál svázán). V agendě přístupových práv v aplikaci KS Mzdy lze přiřazovat k rolím loginy, které jsou buď v databázi (jako uživatalé DB) nebo v agendě Uživatelé KS Portálu. V konfiguračním souboru web.config je možno definovat výchozí roli parametrem , která se přiřadí všem uživatelům, kteří nebudou mít explicitně přiřazenou žádnou roli.
Řízení přístupu na data jiných uživatelů (tzv. řádková práva) Nastavení provádí pouze administrátor KS Portálu. Typ řádkových práv může správce nastavit v parametrech KS Portálu (Nastavení / Parametry). 1. Standardní (výchozí nastavení) – přihlášený uživatel má povolen přístup jen na pevně daný výčet osobních čísel a středisek Výčet povolených osobních čísel a středisek se nastavuje v aplikaci KS Mzdy (v menu: Systém / Práva na střediska a os. čísla) a KS Portál toto nastavení přebírá. 2. Dle systemizace – přihlášený uživatel má povolen přístup na sebe a své podřízené dle systemizace pracovních míst z aplikace KS Mzdy. 3. Dle AD – přihlášený uživatel má povolen přístup na sebe a své podřízené dle hierarchie v Active Directory.
8 Registrace nových uživatelů v KS Portálu Tato kapitola platí jen v případě ověřování uživatelů v agendě Uživatelé KS Portálu v těžkém klientovi (výchozí nastavení). Aby uživatel získal přístup do KS Portálu, musí mít vytvořen účet v agendě Uživatelé KS Portálu. Účet mu může ručně vytvořit (nebo upravit) správce aplikace KS Mzdy. Uživatelé se mohou registrovat sami Je také možné povolit neregistrovaným uživatelům KS Portálu, aby se mohli sami zaregistrovat. V souboru web.config musí být v sekci následující řádky:
První řádek povoluje uživatelům KS Portálu registraci. Druhý musí mít ve své hodnotě zadán název výchozí uživatelské role, která se takto registrovaným uživatelům přiřadí.
9 Další možnosti nastavení Základní nastavení aplikace KS Portál se provádí v souboru web.config, který se nachází v adresáři ksprtl (kořenovém adresáři aplikace).
Sekce V této sekci se nacházejí konfigurační parametry aplikace. Jejich pořadí není důležité. Zapisují se ve tvaru .
Seznam parametrů Název
Popis
Možné hodnoty
Admins
Výčet loginů, které patří administrátorům aplikace.
Jeden nebo více loginů oddělených středníkem.
Cache
Potlačí ukládání stránek na straně prohlížeče do temporary internet files.
nopage
DbCmdTimeout
Maximální povolená doba pro vykonání jednoho databázového příkazu. Pokud je překročena, zobrazí se chybové hlášení.
Číslo znamenající délku timeoutu v sekundách.
FormatDatumu
Datový typ pro datum v MSSQL DB
nevyplněno – datum je char(10) yyyymm-dd datetime – datum je typu DateTime
ExterniUziv
Zda se do aplikace mohou přihlašovat externí uživatelé (tací, kteří nejsou v cílové databázi mezi zaměstnanci)
nevyplněno/false – přihlásit se mohou jen zaměstnanci true – přihlásit se mohou i externí uživatelé z agendy Uživatelé KS Portálu
LogType
Určuje, zda se mají zaznamenávat chyby vzniklé při běhu aplikace.
nevyplněno – záznam se neprovádí xml – provádí se záznam do souboru ksprtl/Logs/exceptions.xml
Optimalizace Menu
Zda zobrazovat celé menu aplikace nebo jen přístupné položky.
nevyplněno/false – zobrazí se celé menu true – zobrazí se jen přístupné položky menu
PristupNaVsechn Zda má mít přihlášený uživatel přístup nevyplněno/false – uživatel má yPodniky i na data zaměstnanců z jiných podniků přístup pouze na zaměstnance ze v databázi stejného podniku true – uživatel má přístup na zaměstnance ze všech podniků Tabulka 2: Seznam parametrů
Zašifrování vybraných sekcí souboru web.config Zašifrování sekce appSettings pro virtuální adresář ksprtl. Provádí se přes příkazovou řádku pod účtem administrátora následujícím příkazem C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis -pe "appSettings" -app "/ksprtl"
Dešifrování stejné sekce se pak provede příkazem C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis -pd "appSettings" -app "/ksprtl"
Následující příkaz přidělí účtu, pod kterým běží ASP.NET aplikace, právo dešifrovat zašifrované sekce web.config. V následujícím příkladu je tímto účtem "NETWORK SERVICE" C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis -pa "NetFrameworkConfigurationKey" "NETWORK SERVICE"
10 Postřehy z praxe •
Zobrazí se následující chybové hlášení na vzdálené počítači, i když v souboru web.config je atribut node značky <customErrors> nastaven na hodnotu Off.
Toto chování ukazuje na chybu (překlep) v souboru web.config. Přesnější popis chyby lze zobrazit pomocí web prohlížeče na místním serveru. •
IIS6 – dynamický obsah: Do souboru protokolu W3C Extended je zaznamenána položka 404.2, pokud nejsou povolena webová rozšíření. Pomocí modulu snap-in konzoly MMC (Microsoft Management Console) služby IIS povolte příslušné webové rozšíření.