Instalační příručka

Z Prirucky
Verze z 11. 5. 2010, 10:21, kterou vytvořil Bohuslav (diskuse | příspěvky)
(rozdíl) ← Starší verze | zobrazit aktuální verzi (rozdíl) | Novější verze → (rozdíl)
KS Portál - Instalační příručka

==

Obsah

==

1 Podporované prohlížeče1

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

3 Jak postupovat při instalaci2

Dodatečné komponenty2

4 Nastavení DB připojení2

Příklady ConnectionStringu2

Pro MSSQL2

Pro Oracle2

Pro ODBC2

Položky DB připojení2

Doplňující informace pro Oracle3

Ze zkušeností3

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

Webový formulář3

Způsob přístupu uživatelů do databáze:3

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

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

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

8 Řádková práva (na osobní čísla)5

9 Registrace nových uživatelů v KS Portálu5

Uživatelé se mohou registrovat sami5

10 Další možnosti nastavení5

Sekce <appSettings>5

Zašifrování vybraných sekcí web.config6= Podporované prohlížeče =

  • MS Internet Explorer 7 a vyšší
  • Mozilla Firefox 2 a vyšší.

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

  • Windows Server 2003 s webovým serverem IIS 6.0 (a vyšší). KS Portál potřebuje cca 50 MB místa na webovém serveru.
  • Běhové prostředí .Net Framework 3.5 (volně a zdarma ke stažení).
  • Na stroji, kde běží IIS musí existovat uživatel ASPNET. Účet uživatele ASPNET se automaticky vytváří při instalaci .NET Fameworku. Je to automatický strojový účet vytvořený pro omezení přístupových práv .NET aplikací. Pokud tento účet neexistuje, lze jej vytvořit znovu pomocí příkazu (z příkazové řádky):
    %systemroot%\Microsoft.NET\Framework\v2.0.50727\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

  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. Skupině uživatelů Authenticated Users nastavte práva:čtení na adresáři ksprtl včetně jeho obsahu
    zápisu do podadresářů Logs a ZedGraphImages
  4. V IIS vytvořte nový virtuální adresář s odkazem na adresář ksprtl na disku.
  5. Ve vlastnostech virtuálního adresáře na záložce ASP.NET zkontrolujte odkaz na správnou verzi .NET Fameworku.
  6. 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í).

Dodatečné komponenty

KS Portál využívá komponentu webctrl_client. Obsah souboru webctrl_client.zip se musí zkopírovat do kořenového adresáře web serveru ( c:\inetpub\wwwroot). Od verze 1.2.99 je již adresář webctrl_client součástí instalace a nově se při instalaci umístí do kořenového adresáře KS Portálu. V případě zákazníků, kteří mají webctrl_client umístěn postaru a z nějakého důvodu je

potřeba jej přemístit na nové místo, je nutno provést úpravu v souboru web.config a a to následujícím způsobem.

1) přidat řádek do configSections:

<configSections>

...

<section name="MicrosoftWebControls" type="System.Configuration.NameValueSectionHandler, System, Version=1.0.3300.0,Culture=neutral,PublicKeyToken=b77a5c561934e089"/>


2)Za sekci dataConfiguration umístit sekci MicrosoftWebControls

<dataConfiguration defaultDatabase=..../>

<MicrosoftWebControls>

<add key="CommonFiles" value="/webctrl_client/1_0/" />

</MicrosoftWebControls>

...

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="server=web_pc;data source=mzdy;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. 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">

<identity impersonate="false"/>

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="Forms">

<identity impersonate="true"/>

a v sekci <appSettings> :

pro přebírání loginu v plném tvaru doména\uživatel <add key="ZdrojLoginu" value="windows"/>

pro přebírání jen jména uživatele bez domény <add key="ZdrojLoginu" value="winuser"/>


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.

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é 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ů


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

Nastavení provádí pouze administrátor KS Portálu. V KS Portálu v menu Nastavení / Práva může uživatelským rolím přidělit přístupová práva k jednotlivým částem (stránkám) portálu.

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.

Řádková práva (na osobní čísla)

Nastavení provádí pouze administrátor KS Portálu. Jedná se o přístupová práva na data ostatních zaměstnanců. 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.
  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

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\v2.0.50727\aspnet_regiis -pe "appSettings" -app "/ksprtl"

Dešifrování stejné sekce se pak provede příkazem C:\Windows\Microsoft.NET\Framework\v2.0.50727\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\Frameworkv2.0.50727\aspnet_regiis -pa "NetFrameworkConfigurationKey" "NETWORKSERVICE"