<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>j2ee.pl - związani z javą &#187; kerberos</title>
	<atom:link href="http://j2ee.pl/tag/kerberos/feed/" rel="self" type="application/rss+xml" />
	<link>http://j2ee.pl</link>
	<description>związani z Javą</description>
	<lastBuildDate>Mon, 24 Aug 2009 11:45:27 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Oswajanie Kerberosa, czyli dwunasta praca Heraklesa</title>
		<link>http://j2ee.pl/2007/12/04/oswajanie-kerberosa-czyli-dwunasta-praca-heraklesa/</link>
		<comments>http://j2ee.pl/2007/12/04/oswajanie-kerberosa-czyli-dwunasta-praca-heraklesa/#comments</comments>
		<pubDate>Tue, 04 Dec 2007 19:25:01 +0000</pubDate>
		<dc:creator>Marcin Nowrot</dc:creator>
				<category><![CDATA[Inne]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[kerberos]]></category>
		<category><![CDATA[weblogic]]></category>

		<guid isPermaLink="false">http://j2ee.pl/2007/12/04/oswajanie-kerberosa-czyli-dwunasta-praca-heraklesa/</guid>
		<description><![CDATA[Czy zastanawialiście się kiedykolwiek, ile razy dziennie przechodzimy proces logowania się do różnych systemów i aplikacji WWW? Według statystyk, liczba ta idzie w dziesiątki dziennie, a stratę czasu na logowanie się i obsługę zapomnianych haseł liczy się w godzinach. Jest to szczególnie istotne, jeśli dotyczy aplikacji, z których korzystamy w pracy.
Czy istnieje sposób aby tego [...]]]></description>
			<content:encoded><![CDATA[<p class="MsoNormal" style="text-align: justify; text-indent: 35.4pt"><a title="Herakles wyprowadzający Cerbera z Hadesu (waza grecka, V w. p.n.e.)" href="http://j2ee.pl/wp-content/uploads/2007/12/image001.png"><img src="http://j2ee.pl/wp-content/uploads/2007/12/image001.png" alt="Herakles wyprowadzający Cerbera z Hadesu (waza grecka, V w. p.n.e.)" align="left" /></a>Czy zastanawialiście się kiedykolwiek, ile razy dziennie przechodzimy proces logowania się do różnych systemów i aplikacji WWW? Według statystyk, liczba ta idzie w dziesiątki dziennie, a stratę czasu na logowanie się i obsługę zapomnianych haseł liczy się w godzinach. Jest to szczególnie istotne, jeśli dotyczy aplikacji, z których korzystamy w pracy.</p>
<p class="MsoNormal" style="text-align: justify; text-indent: 35.4pt">Czy istnieje sposób aby tego uniknąć (na przykład automatycznie logując się do aplikacji przy użyciu danych wprowadzonych podczas autoryzacji w domenie Windows)? Jak najbardziej tak – aczkolwiek nie jest to zadaniem trywialnym. Niniejszy artykuł opisuje proces integracji serwera BEA WebLogic z systemem Kerberos, jednakże jego celem nie jest wyjaśnienie wszystkich aspektów tego procesu (wyjaśnienie na tym poziomie szczegółowości mogłoby z powodzeniem wypełnić książkę). Celem tego artykułu jest raczej przeprowadzenie operatora domeny Active Directory przez proces integracji w najbardziej typowych warunkach.</p>
<p><span id="more-105"></span></p>
<p class="MsoNormal" style="text-align: justify; text-indent: 35.4pt">
<p class="MsoNormal" style="text-align: justify; text-indent: 35.4pt">
<p class="MsoNormal" style="text-align: justify; text-indent: 35.4pt">
<p class="MsoNormal" style="text-align: justify"><strong><span style="font-size: 14pt">Środowisko testowe</span></strong></p>
<p class="MsoNormal" style="text-align: justify; text-indent: 35.4pt">
<p class="MsoNormal" style="text-align: justify; text-indent: 35.4pt">Środowisko testowe składać się będzie z trzech komputerów (p. <span>Rys. <span>1</span><!--[if gte mso 9]><xml> <w :data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F005200650066003100380034003400340032003600350030000000</w> </xml>< ![endif]--></span>):</p>
<p class="MsoNormal" style="margin-left: 71.4pt; text-align: justify; text-indent: -18pt"><!--[if !supportLists]--><span>1.<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; font-family: 'Times New Roman';"> </span></span><!--[endif]--><span class="HTML-wstpniesformatowanyZnak">zeus</span>: pracujący pod Windows 2003 kontroler domeny <span class="HTML-wstpniesformatowanyZnak">olympus.net</span> (ang. <em>Domain Controller</em>, DC), z uruchomionym Centrum Dystrybucji Kluczy (ang. <em>Key Distribution Center</em>, KDC) systemu Kerberos. (<strong>Uwaga:</strong> proces integracji różni się w zależności od wersji systemu Windows, pod kontrolą której pracują DC i KDC. Niniejszy artykuł opisuje proces integracji w oparciu o system Windows 2003).</p>
<p class="MsoNormal" style="margin-left: 71.4pt; text-align: justify; text-indent: -18pt"><!--[if !supportLists]--><span>2.<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; font-family: 'Times New Roman';"> </span></span><!--[endif]--><span class="HTML-wstpniesformatowanyZnak">athena</span>: serwer aplikacji BEA Weblogic 9.2. Na potrzeby tego artykułu zakładamy, że systemem operacyjnym na serwerze <code><span style="font-size: 10pt">athena</span></code> jest system UNIX-owy</p>
<p class="MsoNormal" style="margin-left: 71.4pt; text-align: justify; text-indent: -18pt"><!--[if !supportLists]--><span>3.<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; font-family: 'Times New Roman';"> </span></span><!--[endif]--><span class="HTML-wstpniesformatowanyZnak">apollo</span>: stacja robocza klienta, który jest zalogowany w domenie i chce uzyskać dostęp do aplikacji zainstalowanej na serwerze <span class="HTML-wstpniesformatowanyZnak">athena</span>.</p>
<p class="MsoNormal" style="text-align: center; page-break-after: avoid" align="center"><!--[if gte vml 1]><v :shapetype  id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t"  path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"> <v :stroke joinstyle="miter" /> </v><v :formulas> <v :f eqn="if lineDrawn pixelLineWidth 0" /> <v :f eqn="sum @0 1 0" /> <v :f eqn="sum 0 0 @1" /> <v :f eqn="prod @2 1 2" /> <v :f eqn="prod @3 21600 pixelWidth" /> <v :f eqn="prod @3 21600 pixelHeight" /> <v :f eqn="sum @0 0 1" /> <v :f eqn="prod @6 1 2" /> <v :f eqn="prod @7 21600 pixelWidth" /> <v :f eqn="sum @8 21600 0" /> <v :f eqn="prod @7 21600 pixelHeight" /> <v :f eqn="sum @10 21600 0" /> </v> <v :path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect" /> <o :lock v:ext="edit" aspectratio="t" /> <v :shape id="_x0000_i1025" type="#_x0000_t75" style='width:234pt;  height:220.5pt' o:ole=""> <v :imagedata src="file:///C:\DOCUME~1\mano\USTAWI~1\Temp\msohtml1\01\clip_image001.emz" mce_src="file:///C:\DOCUME~1\mano\USTAWI~1\Temp\msohtml1\01\clip_image001.emz"   o:title="" /> </v>< ![endif]--><!--[if !vml]--><img src="http://j2ee.pl/wp-content/uploads/2007/12/image003.jpg" alt="" width="452" height="427" align="middle" /><!--[endif]--><!--[if gte mso 9]><xml> <o :OLEObject Type="Embed" ProgID="Visio.Drawing.11" ShapeID="_x0000_i1025"   DrawAspect="Content" ObjectID="_1258197932"> </o> </xml>< ![endif]--></p>
<p class="MsoCaption" style="text-align: center" align="center"><a title="_Ref184442650" name="_Ref184442650"></a><strong>Rys. <span><span>1</span></span>. Środowisko testowe i proces logowania się do aplikacji WWW zintegrowanej z systemem Kerberos (1 – Użytkownik zalogowany do stacji <span style="font-family: 'Courier New';">apollo.olympus.net </span>próbuje uzyskać dostęp do części chronionej aplikacji WWW. 2 – przeglądarka użytkownika wysyła żądanie do serwera aplikacji WWW</strong><strong><span style="font-family: 'Courier New';"> </span><span style="font-family: 'Courier New';">athena.olympus.net</span>, i odbiera odpowiedź HTTP401, rozpoczynającą proces logowania się do aplikacji za pośrednictwem systemu Kerberos. 3 – Komputer <span style="font-family: 'Courier New';">apollo.olympus.net</span> łączy się z KDC (<span style="font-family: 'Courier New';">zeus.olympus.net</span>) i wysyła żądanie przyznania ticketa. 4 – po pozytywnej identyfikacji użytkownika i hosta w domenie, serwer KDC odsyła ticket do komputera <span style="font-family: 'Courier New';">apollo.olympus.net</span>. 5 – ticket zostaje przekazany komputerowi <span style="font-family: 'Courier New';">athena.olympus.net</span>. Po poprawnym przetworzeniu ticketu, proces identyfikacji użytkownika kończy się sukcesem. 6 – serwer<span style="font-family: 'Courier New';"> athena.olympus.net</span> łączy się z LDAP Active Directory, celem pobrania grup AD (traktowanych jako role użytkownika). Po pobraniu grup kończy się proces autoryzacji użytkownika w aplikacji WWW)</strong><!--[if supportFields]><span style="mso-bookmark: _Ref184442650" mce_style="mso-bookmark: _Ref184442650"></span><span style="mso-element:field-begin" mce_style="mso-element:field-begin"></span><span style="mso-bookmark:_Ref184442650" mce_style="mso-bookmark:_Ref184442650"><span style="mso-spacerun:yes" mce_style="mso-spacerun:yes"> </span>SEQ Rys. \* ARABIC <span style="mso-element:field-separator" mce_style="mso-element:field-separator"></span></span>< ![endif]--><!--[if supportFields]><span style="mso-bookmark:_Ref184442650" mce_style="mso-bookmark:_Ref184442650"></span><span style="mso-element:field-end" mce_style="mso-element:field-end"></span>< ![endif]--> <span style="font-size: 14pt; font-weight: normal"></span></p>
<p class="MsoNormal" style="text-align: justify">
<p class="MsoNormal" style="text-align: justify">
<p class="MsoNormal" style="text-align: justify">
<p class="MsoNormal" style="text-align: justify"><strong><span style="font-size: 14pt">Konfiguracja w KDC</span></strong></p>
<p class="MsoNormal" style="text-align: justify">
<p class="MsoNormal" style="text-align: justify"><span> </span>Proces integracji serwera Weblogic z domeną Windows należy rozpocząć od utworzenia w kontrolerze domeny <span style="font-family: 'Courier New';">zeus.olympus.net</span> konta dla serwera aplikacji. Konto to musi spełniać kilka określonych warunków (p. tabela 1)</p>
<p class="MsoNormal" style="text-align: justify">
<table class="MsoTableGrid" style="border: medium none; border-collapse: collapse; height: 224px;" border="1" cellspacing="0" cellpadding="0" width="470">
<tbody>
<tr>
<td style="border: 1pt solid windowtext; padding: 0cm 5.4pt; width: 153.5pt" width="205" valign="top">
<p class="MsoNormal" style="text-align: justify" align="center"><strong>Typ pola</strong></p>
</td>
<td style="border-style: solid solid solid none; border-color: windowtext windowtext windowtext -moz-use-text-color; border-width: 1pt 1pt 1pt medium; padding: 0cm 5.4pt; width: 153.55pt" width="205" valign="top">
<p class="MsoNormal" style="text-align: justify"><strong>Wartość</strong></p>
</td>
<td style="border-style: solid solid solid none; border-color: windowtext windowtext windowtext -moz-use-text-color; border-width: 1pt 1pt 1pt medium; padding: 0cm 5.4pt; width: 153.55pt" width="205" valign="top">
<p class="MsoNormal" style="text-align: justify"><strong>Uwagi</strong></p>
</td>
</tr>
<tr>
<td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0cm 5.4pt; width: 153.5pt" width="205" valign="top">
<p class="MsoNormal" style="text-align: justify">First name</p>
</td>
<td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 153.55pt" width="205" valign="top">
<p class="MsoNormal" style="text-align: justify"><code><span style="font-size: 10pt">athena.olympus.net</span></code></p>
</td>
<td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 153.55pt" width="205" valign="top">
<p class="MsoNormal" style="text-align: justify">Nazwa konta identyczna z nazwą   hosta (oczywiście w domenie musi istnieć serwer DNS i ReverseDNS   odwzorowujący dla hosta <code><span style="font-size: 10pt">athena.olympus.net</span></code></p>
</td>
</tr>
<tr>
<td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0cm 5.4pt; width: 153.5pt" width="205" valign="top">
<p class="MsoNormal" style="text-align: justify">Login</p>
</td>
<td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 153.55pt" width="205" valign="top">
<p class="MsoNormal" style="text-align: justify"><code><span style="font-size: 10pt">athena.olympus.net</span></code></p>
</td>
<td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 153.55pt" width="205" valign="top">
<p class="MsoNormal" style="text-align: justify">Login taki sam jak nazwa hosta.</p>
</td>
</tr>
<tr>
<td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0cm 5.4pt; width: 153.5pt" width="205" valign="top">
<p class="MsoNormal" style="text-align: justify">Hasło</p>
</td>
<td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 153.55pt" width="205" valign="top">
<p class="MsoNormal" style="text-align: justify">longlongpassword</p>
</td>
<td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 153.55pt" width="205" valign="top">
<p class="MsoNormal" style="text-align: justify">Hasło będzie wykorzystane<span> </span>dalej, do generowania pliku zawierającego   klucz szyfrowania</p>
</td>
</tr>
<tr>
<td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0cm 5.4pt; width: 153.5pt" width="205" valign="top">
<p class="MsoNormal" style="text-align: justify">Algorytm szyfrowania hasła</p>
</td>
<td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 153.55pt" width="205" valign="top">
<p class="MsoNormal" style="text-align: justify">DES</p>
</td>
<td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 153.55pt" width="205" valign="top">
<p class="MsoNormal" style="text-align: justify">Po włączeniu szyfrowania DES na   koncie należy zresetować hasło konta, podając nowe hasło 100% zgodne ze   star</p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal" style="text-align: justify">
<p class="MsoNormal" style="text-align: justify">
<p class="MsoNormal" style="text-align: justify; text-indent: 35.4pt" align="left"><strong>Tabela 1. Konto w Active Directory przeznaczone dla serwera aplikacji</strong></p>
<p class="MsoNormal" style="text-align: justify; text-indent: 35.4pt">Integracja z systemem Kerberos wymaga zarejestrowania w KDC usług, z którymi będziemy się integrować. Dokonujemy tego poprzez ustalenie tzw. <em>Service Principal Names</em>,<em> </em>SPN, na podstawie których identyfikowane sa usługi, dla których system Kerberos wystawia tickety. Aby zarejestrować SPN dla serwera Weblogic, w linii komend serwera KDC (<code><span style="font-size: 10pt">zeus.olympus.net</span></code>) wpisujemy:</p>
<p class="MsoNormal" style="text-align: justify">
<pre style="text-align: justify"><code><span style="font-family: Courier;">setspn -a HOST/athena.olympus.net@OLYMPUS.NET athena.olympus.net</span></code>
<code></code><code><span style="font-family: Courier;">setspn -a HTTP/athena.olympus.net@OLYMPUS.NET athena.olympus.net</span></code></pre>
<p class="MsoNormal" style="text-align: justify">gdzie <code><span style="font-size: 10pt">athena.olympus.net</span></code> to nazwa konta użytkownika (zarejestrowanego w kontrolerze domeny) z którego uruchamiany jest serwer aplikacji na komputerze <code><span style="font-size: 10pt">athena.olympus.net@OLYMPUS.NET</span></code></p>
<p class="MsoNormal" style="text-align: justify">
<p class="MsoNormal" style="text-align: justify; text-indent: 35.4pt">Aby sprawdzić poprawność wygenerowanych SPNs należy na serwerze KDC wpisać następującą komendę:</p>
<p class="MsoNormal" style="text-align: justify"><code><span style="font-size: 10pt">setspn –L athena.olympus.net</span></code></p>
<p class="MsoNormal" style="text-align: justify"><code><span style="font-size: 10pt"> </span></code></p>
<p class="MsoNormal" style="text-align: justify">po wpisaniu powyższej komendy, powinny zostać wyświetlone SPNs skojarzone z kontem Active Directory <code><span style="font-size: 10pt">athena.olympus.net</span></code></p>
<p class="MsoNormal" style="text-align: justify">
<p class="MsoNormal" style="text-align: justify; text-indent: 35.4pt">Następnym krokiem jest utworzenie tzw. pliku keytab zawierającego klucz służący do szyfrowania i deszyfrowania ticketów wydawanych przez system Kerberos dla serwera <code><span style="font-size: 10pt">athena:</span></code></p>
<p class="MsoNormal" style="text-align: justify"><span> </span></p>
<pre style="text-align: justify"><span lang="EN-US">ktpass -princ HTTP/athena.olympus.net@OLYMPUS.NET
-mapuser athena.olympus.net
-crypto DES-CBC-MD5
-ptype KRB5_NT_PRINCIPAL
-mapop set +desonly
-pass longlongpassword
-out c:\temp\athena.http.keytab</span></pre>
<pre style="text-align: justify"><span lang="EN-US">ktpass -princ HOST/athena.olympus.net@OLYMPUS.NET
-mapuser athena.olympus.net
-crypto DES-CBC-MD5
-ptype KRB5_NT_PRINCIPAL
-mapop set +desonly
-pass longlongpassword
-out c:\temp\athena.host.keytab</span></pre>
<p class="MsoNormal" style="text-align: justify"><span lang="EN-US"> </span></p>
<p class="MsoNormal" style="text-align: justify; text-indent: 35.4pt">Podczas tworzenia pliku keytab należy podać SPN, dla którego tworzony jest plik keytab, algorytm szyfrowania ticketów oraz hasło użytkownika wymienionego w parametrze mapuser. Obydwa pliki keytab (zapisane na dysku w miejscu wyspecyfikowanym w parametrze <code><span style="font-size: 10pt">out</span></code>) przekazujemy następnie administratorowi serwera <code><span style="font-size: 10pt">athena.</span></code></p>
<p class="MsoNormal" style="text-align: justify"><code><span style="font-size: 10pt"> </span></code></p>
<p class="MsoNormal" style="text-align: justify; text-indent: 35.4pt"><strong> </strong></p>
<p class="MsoNormal" style="text-align: justify; text-indent: 35.4pt">
<p class="MsoNormal" style="text-align: justify; text-indent: 35.4pt">
<p class="MsoNormal" style="text-align: justify"><strong><span style="font-size: 14pt">Konfiguracja serwera athena</span></strong></p>
<p class="MsoNormal" style="text-align: justify"><strong> </strong></p>
<p class="MsoNormal" style="text-align: justify; text-indent: 35.4pt">Pierwszym krokiem konfiguracji serwera <span style="font-family: 'Courier New';">athena.olympus.net</span> jest skonfigurowanie klienta systemu Kerberos, czyli przekazanie mu danych domeny OLYMPUS.NET. Dokonujemy tego poprzez wykonanie następującego wpisu w plikach <code><span style="font-size: 10pt">/etc/krb5/kdc.conf oraz /etc/krb5/krb5.conf</span></code></p>
<p class="MsoNormal" style="text-align: justify; text-indent: 35.4pt"><code><span style="font-size: 10pt"> </span></code></p>
<p align="center">
<table class="MsoTableGrid" style="border: medium none ; border-collapse: collapse" border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td style="border: 1pt solid windowtext; padding: 0cm 5.4pt; width: 460.6pt" width="614" valign="top">
<p class="MsoNormal" style="text-align: justify"><code><span style="font-size: 10pt" lang="EN-US">[kdcdefaults]</span></code></p>
<p class="MsoNormal" style="text-align: justify"><code><span style="font-size: 10pt" lang="EN-US"><span> </span>kdc_ports = 88,750</span></code></p>
<p class="MsoNormal" style="text-align: justify"><code><span style="font-size: 10pt" lang="EN-US"> </span></code></p>
<p class="MsoNormal" style="text-align: justify"><code><span style="font-size: 10pt" lang="EN-US">[realms]</span></code></p>
<p class="MsoNormal" style="text-align: justify"><code><span style="font-size: 10pt" lang="EN-US"><span> </span>OLYMPUS.NET = {</span></code></p>
<p class="MsoNormal" style="text-align: justify"><code><span style="font-size: 10pt" lang="EN-US"><span> </span>profile = /etc/krb5/krb5.conf</span></code></p>
<p class="MsoNormal" style="text-align: justify"><code><span style="font-size: 10pt" lang="EN-US"><span> </span>database_name = /var/krb5/principal</span></code></p>
<p class="MsoNormal" style="text-align: justify"><code><span style="font-size: 10pt" lang="EN-US"><span> </span>admin_keytab = /etc/krb5/kadm5.keytab</span></code></p>
<p class="MsoNormal" style="text-align: justify"><code><span style="font-size: 10pt" lang="EN-US"><span> </span>acl_file = /etc/krb5/kadm5.acl</span></code></p>
<p class="MsoNormal" style="text-align: justify"><code><span style="font-size: 10pt" lang="EN-US"><span> </span>kadmind_port = 749</span></code></p>
<p class="MsoNormal" style="text-align: justify"><code><span style="font-size: 10pt" lang="EN-US"><span> </span>max_life = 8h 0m 0s</span></code></p>
<p class="MsoNormal" style="text-align: justify"><code><span style="font-size: 10pt" lang="EN-US"><span> </span>max_renewable_life = 7d 0h 0m 0s</span></code></p>
<p class="MsoNormal" style="text-align: justify"><code><span style="font-size: 10pt" lang="EN-US"><span> </span></span></code><code><span style="font-size: 10pt">default_principal_flags   = +preauth</span></code></p>
<p class="MsoNormal" style="text-align: justify"><code><span style="font-size: 10pt"><span> </span>}</span></code></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal" style="text-align: justify; text-indent: 35.4pt"><code><span style="font-size: 10pt"> </span></code></p>
<p class="MsoNormal" style="text-align: justify; text-indent: 35.4pt" align="center"><strong>Tabela 2. Przykładowa treść pliku kdc.conf</strong></p>
<p class="MsoNormal" style="text-align: justify; text-indent: 35.4pt">Najważniejszym ustawieniem jest tutaj podanie ścieżki do pliku krb5.conf oraz włączenie preautentykacji dla wszystkich principali.</p>
<p class="MsoNormal" style="text-align: justify; text-indent: 35.4pt">
<p class="MsoNormal" style="text-align: justify; text-indent: 35.4pt">Kolejnym krokiem konfiguracyjnym jest utworzenie/edycja pliku krb5.conf, który powinien zawierać informacje o kontrolerze/kontrolerach domeny, algorytmie szyfrowania ticketów, ustawieniach klienta Kerberosa oraz samej domenie AD.</p>
<p class="MsoNormal" style="text-align: justify; text-indent: 35.4pt">
<table class="MsoTableGrid" style="border: medium none ; border-collapse: collapse" border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td style="border: 1pt solid windowtext; padding: 0cm 5.4pt; width: 460.6pt" width="614" valign="top">
<p class="MsoNormal" style="text-align: justify"><code><span style="font-size: 10pt">[libdefaults]</span></code></p>
<p class="MsoNormal" style="text-align: justify"><code><span style="font-size: 10pt"><span> </span>default_realm =   OLYMPUS.NET</span></code></p>
<p class="MsoNormal" style="text-align: justify"><code><span style="font-size: 10pt"><span> </span>default_tkt_enctypes =   des-cbc-md5</span></code></p>
<p class="MsoNormal" style="text-align: justify"><code><span style="font-size: 10pt"><span> </span>default_tgs_enctypes =   des-cbc-md5</span></code></p>
<p class="MsoNormal" style="text-align: justify"><code><span style="font-size: 10pt"><span> </span>ticket_lifetime = 600</span></code></p>
<p class="MsoNormal" style="text-align: justify"><code><span style="font-size: 10pt"> </span></code></p>
<p class="MsoNormal" style="text-align: justify"><code><span style="font-size: 10pt">[realms]</span></code></p>
<p class="MsoNormal" style="text-align: justify"><code><span style="font-size: 10pt"><span> </span>OLYMPUS.NET = {</span></code></p>
<p class="MsoNormal" style="text-align: justify"><code><span style="font-size: 10pt"><span> </span>kdc = 10.1.1.1:88</span></code></p>
<p class="MsoNormal" style="text-align: justify"><code><span style="font-size: 10pt"><span> </span>kdc =   10.1.1.2:88</span></code></p>
<p class="MsoNormal" style="text-align: justify"><code><span style="font-size: 10pt"><span> </span>kdc =   10.1.1.3:88</span></code></p>
<p class="MsoNormal" style="text-align: justify"><code><span style="font-size: 10pt"><span> </span>kdc =   10.1.1.4:88</span></code></p>
<p class="MsoNormal" style="text-align: justify"><code><span style="font-size: 10pt"><span> </span>admin_server =   10.1.1.1</span></code></p>
<p class="MsoNormal" style="text-align: justify"><code><span style="font-size: 10pt"><span> </span><span> </span><span> </span>default_domain=OLYMPUS.NET</span></code></p>
<p class="MsoNormal" style="text-align: justify"><code><span style="font-size: 10pt"><span> </span>}</span></code></p>
<p class="MsoNormal" style="text-align: justify"><code><span style="font-size: 10pt"> </span></code></p>
<p class="MsoNormal" style="text-align: justify"><code><span style="font-size: 10pt">[domain_realm]</span></code></p>
<p class="MsoNormal" style="text-align: justify"><code><span style="font-size: 10pt"><span> </span>.olympus.net = OLYMPUS.NET</span></code></p>
<p class="MsoNormal" style="text-align: justify"><code><span style="font-size: 10pt"> </span></code></p>
<p class="MsoNormal" style="text-align: justify"><code><span style="font-size: 10pt">[appdefaults]</span></code></p>
<p class="MsoNormal" style="text-align: justify"><code><span style="font-size: 10pt"><span> </span>autologin = true</span></code></p>
<p class="MsoNormal" style="text-align: justify"><code><span style="font-size: 10pt"><span> </span>forward = true</span></code></p>
<p class="MsoNormal" style="text-align: justify"><code><span style="font-size: 10pt"><span> </span>encrypt = true</span></code></p>
<p class="MsoNormal" style="text-align: justify"><code><span style="font-size: 10pt"><span> </span>forwardable= true</span></code></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal" style="text-align: center; text-indent: 35.4pt" align="center"><strong>Tabela 3. Przykładowa treść pliku krb5.conf, konfigurująca więcej niż jeden serwer KDC</strong></p>
<p class="MsoNormal" style="text-align: justify; text-indent: 35.4pt"><strong> </strong></p>
<p class="MsoNormal" style="text-align: justify; text-indent: 35.4pt"><strong> </strong></p>
<p class="MsoNormal" style="text-align: justify"><span> </span><span> </span>Po utworzeniu/edycji dwóch powyższych plików, należy pobrać od administratora KDC dwa pliki keytab, które zostały utworzone podczas przygotowywania KDC do integracji z serwerem aplikacji.</p>
<p class="MsoNormal" style="text-align: justify"><span> </span>Po otrzymaniu obu plików keytab należy je scalić za pomocą narzędzia ktutil, wydając następujące komendy:</p>
<p class="MsoNormal" style="text-align: justify">
<p class="MsoNormal" style="text-align: justify"><code><span style="font-size: 10pt">ktutil</span></code> – uruchamia narzędzie ktutil</p>
<p class="MsoNormal" style="text-align: justify"><code><span style="font-size: 10pt">rkt athena.http.keytab</span></code> – wczytuje keytab HTTP</p>
<p class="MsoNormal" style="text-align: justify"><code><span style="font-size: 10pt">rkt athena.host.keytab</span></code> – wczytuje keytab HOST</p>
<p class="MsoNormal" style="text-align: justify"><code><span style="font-size: 10pt">wkt athena.keytab</span></code> – zapisuje scalony plik keytab</p>
<p class="MsoNormal" style="text-align: justify"><code><span style="font-size: 10pt">q</span></code> – zamyka narzędzie ktutil</p>
<p class="MsoNormal" style="text-align: justify">
<p class="MsoNormal" style="text-align: justify"><span> </span>Po wykonaniu scalenia, należy sprawdzić poprawność konfiguracji wydając polecenie</p>
<p class="MsoNormal" style="text-align: justify">
<p class="MsoNormal" style="text-align: justify"><code><span style="font-size: 10pt">kinit –k –t /&lt;ścieżka&gt;/athena.keytab</span></code></p>
<p class="MsoNormal" style="text-align: justify">
<p class="MsoNormal" style="text-align: justify">Jeżeli nie otrzymamy komunikatu o błędzie, konfiguracja hostów zakończyła się sukcesem i możemy przejść do konfiguracji serwera BEA WebLogic.</p>
<p class="MsoNormal" style="text-align: justify; text-indent: 35.4pt"><strong> </strong></p>
<p class="MsoNormal" style="text-align: justify; text-indent: 35.4pt">
<p class="MsoNormal" style="text-align: justify; text-indent: 35.4pt">
<p class="MsoNormal" style="text-align: justify"><strong><span style="font-size: 14pt">Konfiguracja serwera aplikacji</span></strong></p>
<p class="MsoNormal" style="text-align: justify">
<p class="MsoNormal" style="text-align: justify; text-indent: 35.4pt">Aby rozpocząć konfiguracje, należy przygotować plik konfiguracji logowania w domenie JAAS dla serwera aplikacji, <code><span style="font-size: 10pt">krb5.login.config</span></code>. Powinien on zawierać m.in. dane niezbędne serwerowi aplikacji do zlokalizowania pliku <code><span style="font-size: 10pt">athena.keytab</span></code>. Przykładową treść takiego pliku przedstawia tabela 4.</p>
<p class="MsoNormal" style="text-align: justify; text-indent: 35.4pt">
<p align="center">
<table class="MsoTableGrid" style="border: medium none ; border-collapse: collapse" border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td style="border: 1pt solid windowtext; padding: 0cm 5.4pt; width: 460.6pt" width="614" valign="top">
<p class="MsoNormal" style="text-align: justify"><code><span style="font-size: 10pt" lang="EN-US">com.sun.security.jgss.initiate   {</span></code></p>
<p class="MsoNormal" style="text-align: justify"><code><span style="font-size: 10pt" lang="EN-US"><span> </span>com.sun.security.auth.module.Krb5LoginModule required</span></code></p>
<p class="MsoNormal" style="text-align: justify"><code><span style="font-size: 10pt" lang="EN-US"><span> </span>principal="HTTP/athena.olympus.net@OLYMPUS.NET"   useKeyTab=true</span></code></p>
<p class="MsoNormal" style="text-align: justify"><code><span style="font-size: 10pt" lang="EN-US"><span> </span>keyTab="/etc/athena.keytab"   storeKey=true;</span></code></p>
<p class="MsoNormal" style="text-align: justify"><code><span style="font-size: 10pt" lang="EN-US">};</span></code></p>
<p class="MsoNormal" style="text-align: justify"><code><span style="font-size: 10pt" lang="EN-US"> </span></code></p>
<p class="MsoNormal" style="text-align: justify"><code><span style="font-size: 10pt" lang="EN-US">com.sun.security.jgss.accept   {</span></code></p>
<p class="MsoNormal" style="text-align: justify"><code><span style="font-size: 10pt" lang="EN-US"><span> </span>com.sun.security.auth.module.Krb5LoginModule   required</span></code></p>
<p class="MsoNormal" style="text-align: justify"><code><span style="font-size: 10pt" lang="EN-US"><span> </span>principal="HTTP/athena.olympus.net@OLYMPUS.NET"   useKeyTab=true</span></code></p>
<p class="MsoNormal" style="text-align: justify"><code><span style="font-size: 10pt" lang="EN-US"><span> </span>keyTab="/etc/athena.keytab"   storeKey=true;</span></code></p>
<p class="MsoNormal" style="text-align: justify"><code><span style="font-size: 10pt" lang="EN-US"> </span></code></p>
<p class="MsoNormal" style="text-align: justify"><code><span style="font-size: 10pt">};</span></code></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal" style="text-align: justify; text-indent: 35.4pt"><strong>Tabela 4. Przykładowa treść pliku krb5.login.config</strong></p>
<p class="MsoNormal" style="text-align: justify; text-indent: 35.4pt"><strong> </strong></p>
<p class="MsoNormal" style="text-align: justify; text-indent: 35.4pt">Plik <code><span style="font-size: 10pt">krb5.login.config</span></code> powinien zostać utworzony w obrębie domeny serwera WebLogic. W dalszej części artykułu przyjmujemy, że został on utworzony w katalogu głównym domeny, oznaczanym jako $DOMAIN_HOME.</p>
<p class="MsoNormal" style="text-align: justify">
<p class="MsoNormal" style="text-align: justify"><span> </span>Po utworzeniu konfiguracji logowania domeny JAAS, należy uzupełnić zestaw parametrów rozruchowych serwera WebLogic o parametry specyficzne dla integracji z serwerem Kerberos. Listę parametrów zawiera tabela 5.</p>
<p class="MsoNormal" style="text-align: justify">
<table class="MsoTableGrid" style="border: medium none ; border-collapse: collapse" border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td style="border: 1pt solid windowtext; padding: 0cm 5.4pt; width: 460.6pt" width="614" valign="top">
<p class="MsoNormal" style="text-align: justify"><code><span style="font-size: 10pt" lang="EN-US">-Djava.security.krb5.realm=OLYMPUS.NET </span></code></p>
<p class="MsoNormal" style="text-align: justify"><code><span style="font-size: 10pt" lang="EN-US">-Djava.security.krb5.kdc=10.1.1.1 </span></code></p>
<p class="MsoNormal" style="text-align: justify"><code><span style="font-size: 10pt" lang="EN-US">-Djava.security.auth.login.config= ${DOMAIN_HOME}/krb5.login.config </span></code></p>
<p class="MsoNormal" style="text-align: justify"><code><span style="font-size: 10pt" lang="EN-US">-Djavax.security.auth.useSubjectCredsOnly=false </span></code></p>
<p class="MsoNormal" style="text-align: justify"><code><span style="font-size: 10pt">-Dweblogic.security.enableNegotiate=true </span></code></p>
<p class="MsoNormal" style="text-align: justify"><code><span style="font-size: 10pt">-Dweblogic.security.identityAssertionTTL=-1</span></code></p>
<p class="MsoNormal" style="text-align: justify"><code><span style="font-size: 10pt" lang="EN-US">-Dsun.security.krb5.debug=true   <span> </span></span></code></p>
<p class="MsoNormal" style="text-align: justify"><code><span style="font-size: 10pt" lang="EN-US">-DDebugSecurityAdjudicator=true </span></code></p>
<p class="MsoNormal" style="text-align: justify"><code><span style="font-size: 10pt" lang="EN-US">-Dweblogic.debug.DebugSecurityAtn=true </span></code></p>
<p class="MsoNormal" style="text-align: justify"><code><span style="font-size: 10pt" lang="EN-US">-Dweblogic.debug.DebugSecurityAtz=true </span></code><span style="font-size: 10pt; font-family: 'Courier New';"></span></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal" style="text-align: justify; text-indent: 35.4pt"><strong>Tabela 5. Lista dodatkowych parametrów rozruchowych serwera BEA WebLogic</strong></p>
<p class="MsoNormal" style="text-align: justify">
<p class="MsoNormal" style="text-align: justify; text-indent: 35.4pt">Na liście parametrów znajdują się między innymi nazwa domeny, adres KDC, położenie pliku konfiguracji logowania. Parametr <code><span style="font-size: 10pt">weblogic.security.identityAssertionTTL</span></code> określa czas (w sekundach) ważności pojedynczego ustalenia tożsamości logującego się do usługi. Standardowo ma on wartość 300, ustawienie na -1 oznacza, że od razu po zalogowaniu dane ustalenie tożsamości jest nieważne i proces logowania powinien się rozpocząć od nowa przy każdej następnej próbie uzyskania dostępu do aplikacji przez danego użytkownika. Ostatnie cztery parametry włączają tryb DEBUG logowania mechanizmów dokonujących identyfikacji i autoryzacji w WebLogic. Ustawienie ich na true powoduje duży przyrost logów, dlatego po fazie testów integracji najlepiej przestawić je na false. Logi autentykatorów znajdują się w katalogu DOMAIN_HOME/servers/&lt;nazwa_serwera_weblogic&gt;.</p>
<p class="MsoNormal" style="text-align: justify; text-indent: 35.4pt"><code><span style="font-size: 10pt"> </span></code></p>
<p class="MsoNormal" style="text-align: justify; text-indent: 35.4pt"><span style="font-size: 10pt">Po dodaniu parametrów rozruchowych należy uruchomić domenę i zalogować się do konsoli zarządzania serwerem. Po zalogowaniu się, należy przejść do Security Realms/&lt;nazwa_domeny_JAAS&gt; i wejść na zakładkę Providers. </span></p>
<p class="MsoNormal" style="text-align: justify; text-indent: 35.4pt"><code><span style="font-size: 10pt"> </span></code></p>
<p class="MsoNormal" style="text-align: justify; page-break-after: avoid" align="center"><!--[if gte vml 1]><v :shape  id="_x0000_i1026" type="#_x0000_t75" style='width:453pt;height:213.75pt'> <v :imagedata src="file:///C:\DOCUME~1\mano\USTAWI~1\Temp\msohtml1\01\clip_image003.png" mce_src="file:///C:\DOCUME~1\mano\USTAWI~1\Temp\msohtml1\01\clip_image003.png"   o:title="" /> </v>< ![endif]--><!--[if !vml]--><a title="Konfiguracja autentykatorów serwera WebLogic zintegrowanego z domeną Active Directory." href="http://j2ee.pl/wp-content/uploads/2007/12/image005.png"></a></p>
<p style="text-align: center"><a title="Konfiguracja autentykatorów serwera WebLogic zintegrowanego z domeną Active Directory." href="http://j2ee.pl/wp-content/uploads/2007/12/image005.png"><img src="http://j2ee.pl/wp-content/uploads/2007/12/image005.thumbnail.png" alt="Konfiguracja autentykatorów serwera WebLogic zintegrowanego z domeną Active Directory." /></a></p>
<p class="MsoCaption" style="text-align: center" align="center"><a title="_Ref184318028" name="_Ref184318028"></a><strong>Rys. <span><span>2</span></span>. Konfiguracja autentykatorów serwera WebLogic zintegrowanego z domeną Active Directory.</strong></p>
<p class="MsoCaption" style="text-align: center" align="center">
<p class="MsoCaption" style="text-align: center" align="center">
<p class="MsoNormal">
<p class="MsoNormal"><span> </span>Na zakładce Providers należy skonfigurować dwa autentykatory. Pierwszym z nich jest <code><span style="font-size: 10pt">NegotiateIdentityAsserter</span></code>, który powinien znaleźć się na szczycie stosu autentykatorów serwera WebLogic. Jego konfiguracja jest trywialna – w zdecydowanej większości przypadków wystarczy go tylko dodać do stosu.</p>
<p class="MsoNormal"><span> </span>Kolejnym autentykatorem, który należy skonfigurować w celu zintegrowania serwera WebLogic z domeną Active Directory jest <code><span style="font-size: 10pt">ActiveDirectoryAuthenticator</span></code>.</p>
<p class="MsoNormal">
<p class="MsoNormal" style="page-break-after: avoid"><!--[if gte vml 1]><v :shape  id="_x0000_i1027" type="#_x0000_t75" style='width:453pt;height:207pt'> <v :imagedata src="file:///C:\DOCUME~1\mano\USTAWI~1\Temp\msohtml1\01\clip_image005.png" mce_src="file:///C:\DOCUME~1\mano\USTAWI~1\Temp\msohtml1\01\clip_image005.png"   o:title="" /> </v>< ![endif]--><!--[if !vml]--><a title="Konfigurowanie ActiveDirectoryAuthenticator" href="http://j2ee.pl/wp-content/uploads/2007/12/image007.png"></a></p>
<p style="text-align: center"><a title="Konfigurowanie ActiveDirectoryAuthenticator" href="http://j2ee.pl/wp-content/uploads/2007/12/image007.png"><img src="http://j2ee.pl/wp-content/uploads/2007/12/image007.thumbnail.png" alt="Konfigurowanie ActiveDirectoryAuthenticator" /></a></p>
<p><!--[endif]--></p>
<p class="MsoCaption" style="text-align: center" align="center"><a title="_Ref184318033" name="_Ref184318033"></a><strong>Rys. <span><span>3</span></span>. Konfigurowanie ActiveDirectoryAuthenticator</strong></p>
<p class="MsoCaption" style="text-align: center" align="center">
<p class="MsoCaption" style="text-align: center" align="center">
<p class="MsoNormal">
<p class="MsoNormal" style="text-indent: 18pt">Podczas jego konfigurowania (na zakładce „Provider Specific” p. <span>Rys. <span>3</span><!--[if gte mso 9]><xml> <w :data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F005200650066003100380034003300310038003000330033000000</w> </xml>< ![endif]--></span>), należy wprowadzić informacje o domenie AD, między innymi:</p>
<p class="MsoListBullet"><!--[if !supportLists]--><span style="font-family: Symbol;"><span>·<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; font-family: 'Times New Roman';"> </span></span></span><!--[endif]-->adres IP Kontrolera Domeny</p>
<p class="MsoListBullet"><!--[if !supportLists]--><span style="font-family: Symbol;"><span>·<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; font-family: 'Times New Roman';"> </span></span></span><!--[endif]-->port, na którym działa usługa LDAP AD zawierająca dane domeny</p>
<p class="MsoListBullet"><!--[if !supportLists]--><span style="font-family: Symbol;"><span>·<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; font-family: 'Times New Roman';"> </span></span></span><!--[endif]-->gałąź użytkowników w drzewie LDAP AD</p>
<p class="MsoListBullet"><!--[if !supportLists]--><span style="font-family: Symbol;"><span>·<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; font-family: 'Times New Roman';"> </span></span></span><!--[endif]-->gałąź grup w drzewie LDAP AD</p>
<p class="MsoListBullet"><!--[if !supportLists]--><span style="font-size: 10pt; font-family: Symbol;"><span>·<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; font-family: 'Times New Roman';"> </span></span></span><!--[endif]-->nazwę i hasło użytkownika zarejestrowanego w domenie, z uprawnień którego korzysta system podczas logowania się do LDAP AD. W naszym przykładzie, użytkownikiem takim będzie <code><span style="font-size: 10pt">athena.olympus.net</span></code></p>
<p class="MsoListBullet"><code><span style="font-size: 10pt"> </span></code></p>
<p class="MsoListBullet" style="margin-left: 0cm; text-indent: 18pt"><span style="font-size: 10pt">Następnie należy przygotować naszą aplikację WWW do integracji z Kerberosem. Dokonujemy tego, zmieniając wpis dotyczący konfiguracji logowania w pliku web.xml aplikacji na:</span></p>
<p class="MsoListBullet" style="margin-left: 0cm; text-indent: 18pt"><code><span style="font-size: 10pt"> </span></code></p>
<p class="MsoNormal"><code><span style="font-size: 10pt">&lt;login-config&gt;</span></code></p>
<p class="MsoNormal"><code><span style="font-size: 10pt" lang="EN-US; text-indent: 34pt">&lt;auth-method&gt;CLIENT-CERT&lt;/auth-method&gt;</span></code></p>
<p class="MsoNormal"><code><span style="font-size: 10pt">&lt;/login-config&gt;</span></code></p>
<p class="MsoNormal"><code><span style="font-size: 10pt"> </span></code></p>
<p class="MsoNormal"><code><span style="font-size: 10pt"> </span></code></p>
<p class="MsoNormal"><code><span style="font-size: 10pt"> </span></code></p>
<p class="MsoNormal" style="text-align: justify; text-indent: 35.4pt">
<p class="MsoNormal" style="text-align: justify"><strong><span style="font-size: 14pt">Konfiguracja przeglądarki klienta</span></strong></p>
<p class="MsoNormal">
<p class="MsoNormal" style="text-align: justify; text-indent: 35.4pt">Zakładamy, że klient zalogowany na stacji <code><span style="font-size: 10pt">apollo.olympus.net</span></code> będzie uzyskiwał dostęp do aplikacji za pomocą przeglądarki MS Internet Explorer 7.0. Aby skonfigurować tą przeglądarkę do łączenia się<span> </span>z naszą aplikacją, należy dodać komputer <code><span style="font-size: 10pt">athena.olympus.net</span></code> do strefy „Lokalny intranet”. Dokonujemy tego poprzez wybranie z menu głównego przeglądarki pozycji „Narzędzia &gt; Opcje internetowe”. Następnie, na zakładce „Zabezpieczenia” wybieramy pozycję „Lokalny intranet” i naciskamy przycisk „Witryny”. Upewniamy się, że opcje „Uwzględnij wszystkie lokalne witryny (sieć intranet), które nie należą do innych stref” oraz „Uwzględnij wszystkie witryny, które nie używają serwerów proxy” są zaznaczone. Później klikamy w przycisk „Zaawansowane” i dodajemy adres <code><span style="font-size: 10pt">athena.olympus.net</span></code> do listy witryn traktowanych jako lokalny intranet.</p>
<p class="MsoNormal" style="text-align: justify; text-indent: 35.4pt">Następnie, na zakładce „Zabezpieczenia”, klikamy w przycisk „Poziom niestandardowy” i w sekcji „Uwierzytelnianie użytkownika” wybieramy opcję „Zaloguj automatycznie tylko w strefie intranetu”.</p>
<p class="MsoNormal" style="text-align: justify">
<p class="MsoNormal" style="text-align: justify">
<p class="MsoNormal" style="text-align: justify; text-indent: 35.4pt">
<p class="MsoNormal" style="text-align: justify"><strong><span style="font-size: 14pt">Podsumowanie</span></strong></p>
<p class="MsoNormal" style="text-align: justify; text-indent: 35.4pt">Czas na przetestowanie nowego sposobu logowania do aplikacji WWW. Aby tego dokonać, logujemy się na stację <code><span style="font-size: 10pt">apollo.olympus.net</span></code> i podajemy w przeglądarce adres sięgający do strefy chronionej naszej aplikacji. Jeżeli zamiast prawidłowego ekranu aplikacji zobaczymy ekran z błędem protokołu HTTP, przechodzimy do fazy debugowania właśnie wykonanej integracji. Ale to już temat na zupełnie inny artykuł.<span> </span></p>
]]></content:encoded>
			<wfw:commentRss>http://j2ee.pl/2007/12/04/oswajanie-kerberosa-czyli-dwunasta-praca-heraklesa/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
