Instalační příručka

Z Prirucky
KS portál
Ks44.png


Moduly

Získejte více

Tento dokument je vlastnictvím společnosti KS-program, spol. s r.o., Vsetín. Slouží pro potřeby školení a studia uživatelů systému Mzdy a personalistika. Žádná část dokumentu nesmí být nijak kopírována, zveřejňována nebo jinak poskytnuta třetím osobám bez předchozího písemného souhlasu odpovědných zástupců KS-program, spol. s r.o.

Podporované prohlížeče

  • MS Internet Explorer 11 a vyšší
  • Mozilla Firefox 52 a vyšší
  • Google Chrome 57 a vyšší

Prohlížeč musí mít povolen JavaScript a Cookies (výchozí nastavení).

Pokud je na přihlašovací stránce zobrazena hláška "Nepodporovaný prohlížeč: IE 7 compatible", znamená to, že je prohlížeč přepnut do režimu zpětné kompatibility (s IE 7). Přesto že používáte Internet Explorer 11, je tento prohlížeč nastaven tak, aby se choval jako Internet Explorer 7. Nastavení kompatibilního zobrazení se provádí v menu prohlížeče. Toto nastavení prohlížeče není pro KS Portál vhodné. Problém je, že takto nastavený prohlížeč vykresluje stránky jako IE 7. My IE 7 nepodporujeme (už nesplňuje potřebné požadavky na správné vykreslení stránek, CSS, Javascript, atd.). V tomto případě se uživateli zobrazí hláška o nekompatibilním prohlížeči. Hláška je pouze informativní a nebrání v samotném přihlášení. Náš portál takto sice pojede, ale některé prvky na stránkách se nemusí nevykreslit a chovat korektně.

Co je potřeba ke zprovoznění KS Portálu

  • Windows Server 2008 R2, 2012 a vyšší. KS Portál potřebuje cca 100 MB místa na webovém serveru.
  • Běhové prostředí .Net Framework 4.6.1 a vyšší (volně a zdarma ke stažení).

Vhodné je 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

  • V IIS musí být povolen ASP modul. Je to ISAPI rozšíření webového serveru, které zpracovává požadavky na stránky s příponou ASPX.

Jak postupovat při instalaci

Aplikace nesmí být instalována jako Web Site

Pro Windows Server 2008 R2, 2012 (IIS 7) a vyšší

  1. Kdekoliv na disku vytvořte adresář ksprtl (Doporučujeme do adresáře c:\Inetpub\wwwroot\).
  2. Do adresáře ksprtl rozbalte obsah souboru PRTXXXXY.zip (XXXXY - odpovídající verze aplikace). Instalační sadu si stáhněte ' z: http://download.ksprogram.cz/download/
  3. Skupině 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í).

Nastavení DB připojení

Připojení na databáze MSSQL a Oracle je již implementován přímo v Net Frameworku, takže se pro tyto databázové platformy nemusí nic instalovat. 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 <connectionStrings> v souboru web.config v hlavním adresáři aplikace.

Příklady ConnectionStringu

Pro MSSQL

<add name="web_mzdy" connectionString="server=web_pc;database=mzdy;uid=test;pwd=test"

providerName="System.Data.SqlClient"/>

Pro Oracle

<add name="web_mzdy" connectionString="Data Source=KSPROGRA;User Id=test;Password=test"

providerName="System.Data.OracleClient"/>

Pro ODBC

<add name="web_mzdy" connectionString="DSN=i_mzdy" providerName="System.Data.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. Je vyžadován 32 bit oracle client. Na adresář Oracle_home (adresář oracle clienta), nadřízené a podřízené složky musí mít přístup skupina uživatelů 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.

Pokud to nepomůže nastavte stejná práva uživateli ASPNET, pod kterým běží proces ASP.NET.

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).

Přihlašování uživatelů KS Portálu

KS portál nabízí dva typy přihlašování uživatelů: webový formulář a systém jednotného přihlášení.

Webový formulář

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 souboru Web.config je potřeba nastavit:

<authentication mode="Forms">

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.
  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:<add name="web_mzdy" connectionString="server=absint_pc;database=web_mzdy;uid=%user %;pwd=%password%" providerName="System.Data.SqlClient"/>

Systém jednotného přihlášení (SSO)

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 souboru web.config je potřeba nastavit:

<authentication mode="Windows">

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 connectionstringu.

Po přidání parametru <add key="SkipLoginPage" value="true"/> se přeskočí přihlašovací stránka.

Způsob ověření uživatelů

Způsob ověření uživatelů určuje hodnota parametru <add key="TypOvereni" value=""/> v souboru web.config v sekci <appSettings> (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é KSPortálu v těžkém klientovi(aplikaci KS Mzdy).
ad Přihlašovací údaje se ověřují v Active Directory.
ez Login uživatel se hledá v poli Login v Evidenci zaměstnanců na záložce Osobní údaje
eos Přihlašovací údaje uživatele se ověřují v EOSu.

Tabulka 1: Způsob ověření uživatelů

Při přihlášení uživatele je potřeba získat i jeho osobní číslo, které jej identifikuje jako konkretního zaměstnance. Osobní číslo se získává se stejného místa, proti kterému se uživatel ověřuje. Pokud vyvstane potřeba získat osobní číslo z jiného zdroje, je to možné nastavit parametrem <add key="ZdrojOsCisla" value=""/> . Parametr může nabývat stejných hodnot jako parametr TypOvereni (viz. Tabulka 1).

Přístupová práva uživatelů

Ří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.

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
<add key="VychoziRole" value=""/>, 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 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. V popisech pracovních míst u každého pracovního místa musí být vyplněno příslušné pracovní středisko.
  3. Dle AD – přihlášený uživatel má povolen přístup na sebe a své podřízené dle hierarchie v Active Directory.

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 <appSettings> následující řádky:

<add key="Registrace" value="user"/>

<add key="VychoziRole" value=""/>

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, do které se takto registrovaní uživatelé přiřadí.

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 <appSettings>

V této sekci se nacházejí parametry aplikace. Jejich pořadí není důležité. Zapisují se ve tvaru <add key="název" value="hodnota"/>.


Seznam parametrů
Název Popis Možné hodnoty
Cache Potlačí ukládání stránek na straně prohlížeče do temporary internet files. nopage
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

FormatDatumu Datový typ pro datum v MSSQL DB nevyplněno – datum je char(10) yyyy-mm-dd

datetime – datum je typu DateTime

Admins Výčet loginů, které patří administrátorům aplikace. Jeden nebo více loginů oddělených středníkem.
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 – 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

Optimalizace Menu Zda zobrazovat celé menu aplikace nebo jen přístupné položky. nevyplněno – zobrazí se celé menu

ano – zobrazí se jen přístupné položky menu

DbCmdTimeout Maximální povolená doba pro vykonání jednoho Db příkazu, pokud překročena, objeví se hláška Číslo znamenající délku timeoutu v sekundách
PristupNaVsechnyPodniky Zda má mít přihlášený uživatel přístup i na data zaměstnaců z jiných podniku v Db. true - uživatel má přístup na zaměstnance ze všech podniků

nevyplněno/false uživatel má přístup pouze na zaměstnance ze stejného podniku

portal_url Řeší případy kdy např. kvůli přesměrovávávání adresy KS portálu se ztratí skutečné jméno hosta na kterého má být požadavek přesměrován a z toho důvodu se v odkazech generovaných v notifikačních emailech zobrazuje chybná adresa url. Do hodnoty se zadává celá adresa url KS portálu.
AppAudit Zapnutí logování činností uživatelů na KS portále. true

Tabulka 2: Seznam parametrů

Zašifrování vybraných sekcí 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 právo dešifrovat zašifrované sekce web.config. V defaultním nastavením je tímto účtem "NETWORKSERVICE"

C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis -pa "NetFrameworkConfigurationKey" "NETWORKSERVICE"

Active directory

Typ ověřování

V souboru web.config je možno nově nastavit typ ověřování pro Active Directory přes parametr ad_auth_type. Možné hodnoty jsou basic a secure, výchozí hodnota je secure, tj. způsob, který se používal i před úpravou. (Tj. pokud je AD a portál na stejném serveru nebo typ secure způsobuje 20s zpoždění, lze typ nastavit na basic)

Načítání rolí vzhledem ke skupinám

Změna v načítání rolí z AD (tj. v případě, že je ve web.config defaultProvider nastaven ADRoleProvider): Při načítání rolí (skupin) uživatele z AD se načítaly pouze ty role, ve kterých byl uživatel zařazen přímo. Nově se načtou i role, pod kterými jsou role uživatele zařazeny. Příklad: Novák je členem ve skupině "Vedoucí" a skupina "Vedoucí" je členem ve skupině "Zaměstnanci", pro Nováka se nově načtou role "Vedoucí" i "Zaměstnanci" (před úpravou jen Vedoucí). Ale zůstává zároveň platit to, že AD skupina je považována za KS roli pouze pokud je uvedena v parametru ad_groups, pokud ad_groups není vyplněn, tak skupina musí být v číselníku rolí (zde je změna, před úpravou musela začínat "KS_").