File: portal.html

package info (click to toggle)
lemonldap-ng 1.3.3-1
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 13,084 kB
  • ctags: 2,440
  • sloc: perl: 25,708; makefile: 622; sh: 176; php: 6; sql: 5
file content (138 lines) | stat: -rw-r--r-- 8,394 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"
 lang="en" dir="ltr">

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<!-- metadata -->
<meta name="generator" content="Offline" />
<meta name="version" content="Offline 0.1" />
<!-- style sheet links -->
<link rel="stylesheet" media="all" type="text/css" href="../../../css/all.css" />
<link rel="stylesheet" media="screen" type="text/css" href="../../../css/screen.css" />
<link rel="stylesheet" media="print" type="text/css" href="../../../css/print.css" />

</head>
<body>
<div class="dokuwiki export">




<h1><a name="the_portal" id="the_portal">The portal</a></h1>
<div class="level1">

<p>

The portal is the main component of <acronym title="LemonLDAP::NG">LL::NG</acronym>. It provides many features:
</p>
<ul>
<li class="level1"><div class="li"> <strong>Authentication service</strong> of course</div>
<ul>
<li class="level2"><div class="li"> Web based for normal users:</div>
<ul>
<li class="level3"><div class="li"> using own database (<a href="../../documentation/1.3/authldap.html" class="wikilink1" title="documentation:1.3:authldap">LDAP</a>, <a href="../../documentation/1.3/authdbi.html" class="wikilink1" title="documentation:1.3:authdbi">SQL</a>, …)</div>
</li>
<li class="level3"><div class="li"> using Apache authentication system (used for <a href="../../documentation/1.3/authssl.html" class="wikilink1" title="documentation:1.3:authssl">SSL</a>, <a href="../../documentation/1.3/authapache.html" class="wikilink1" title="documentation:1.3:authapache">Kerberos</a>, <a href="../../documentation/1.3/authapache.html" class="wikilink1" title="documentation:1.3:authapache">HTTP basic authentication</a>, …)</div>
</li>
<li class="level3"><div class="li"> using external identity provider (<a href="../../documentation/1.3/authsaml.html" class="wikilink1" title="documentation:1.3:authsaml">SAML</a>, <a href="../../documentation/1.3/authopenid.html" class="wikilink1" title="documentation:1.3:authopenid">OpenID</a>, <a href="../../documentation/1.3/authcas.html" class="wikilink1" title="documentation:1.3:authcas">CAS</a>, <a href="../../documentation/1.3/authtwitter.html" class="wikilink1" title="documentation:1.3:authtwitter">Twitter</a>, other <acronym title="LemonLDAP::NG">LL::NG</acronym> system, …)</div>
</li>
<li class="level3"><div class="li"> all together (based on user <a href="../../documentation/1.3/authchoice.html" class="wikilink1" title="documentation:1.3:authchoice">choice</a>, <a href="../../documentation/1.3/authmulti.html" class="wikilink1" title="documentation:1.3:authmulti">rules</a>, …)</div>
</li>
</ul>
</li>
<li class="level2"><div class="li"> <a href="../../documentation/1.3/soapservices.html" class="wikilink1" title="documentation:1.3:soapservices">SOAP based</a> for client-server software, specific development, …</div>
</li>
</ul>
</li>
<li class="level1"><div class="li"> <strong>Identity provider</strong>: <acronym title="LemonLDAP::NG">LL::NG</acronym> is able to provide identity service using:</div>
<ul>
<li class="level2"><div class="li"> <a href="../../documentation/1.3/idpsaml.html" class="wikilink1" title="documentation:1.3:idpsaml">SAML</a></div>
</li>
<li class="level2"><div class="li"> <a href="../../documentation/1.3/idpopenid.html" class="wikilink1" title="documentation:1.3:idpopenid">OpenID</a></div>
</li>
<li class="level2"><div class="li"> <a href="../../documentation/1.3/idpcas.html" class="wikilink1" title="documentation:1.3:idpcas">CAS</a></div>
</li>
</ul>
</li>
<li class="level1"><div class="li"> <strong><a href="../../documentation/1.3/federationproxy.html" class="wikilink1" title="documentation:1.3:federationproxy">Identity provider proxy</a></strong>: <acronym title="LemonLDAP::NG">LL::NG</acronym> can be used as proxy translator between systems talking <acronym title="Security Assertion Markup Language">SAML</acronym>, OpenID, <acronym title="Central Authentication Service">CAS</acronym>, …</div>
</li>
<li class="level1"><div class="li"> <strong>Internal <acronym title="Simple Object Access Protocol">SOAP</acronym> server</strong> used by <a href="../../documentation/1.3/soapconfbackend.html" class="wikilink1" title="documentation:1.3:soapconfbackend">SOAP configuration backend</a> and usable for specific development (see <a href="../../documentation/1.3/soapservices.html" class="wikilink1" title="documentation:1.3:soapservices">SOAP services</a> for more)</div>
</li>
<li class="level1"><div class="li"> Interactive <strong>management of user passwords</strong>:</div>
<ul>
<li class="level2"><div class="li"> Password change form (in menu)</div>
</li>
<li class="level2"><div class="li"> Self service reset (send a mail to the user with a to change the password)</div>
</li>
<li class="level2"><div class="li"> Force password change with <acronym title="Lightweight Directory Access Protocol">LDAP</acronym> password policy password reset flag</div>
</li>
</ul>
</li>
<li class="level1"><div class="li"> <strong><a href="../../documentation/1.3/portalmenu.html" class="wikilink1" title="documentation:1.3:portalmenu">Application menu</a></strong>: display authorized applications in categories</div>
</li>
<li class="level1"><div class="li"> <strong><a href="../../documentation/1.3/notifications.html" class="wikilink1" title="documentation:1.3:notifications">Notifications</a></strong>: prompt users with a message if found in the notification database</div>
</li>
</ul>

</div>
<!-- SECTION "The portal" [1-1598] -->
<h2><a name="functioning" id="functioning">Functioning</a></h2>
<div class="level2">

<p>

<acronym title="LemonLDAP::NG">LL::NG</acronym> portal is a modular component. It needs 4 modules to work:
</p>
<ul>
<li class="level1"><div class="li"> <a href="../../documentation/1.3/start.html#authentication_users_and_password_databases" class="wikilink1" title="documentation:1.3:start">Authentication</a>: how check user credentials</div>
</li>
<li class="level1"><div class="li"> <a href="../../documentation/1.3/start.html#authentication_users_and_password_databases" class="wikilink1" title="documentation:1.3:start">User database</a>: where collect user information</div>
</li>
<li class="level1"><div class="li"> <a href="../../documentation/1.3/start.html#authentication_users_and_password_databases" class="wikilink1" title="documentation:1.3:start">Password database</a>: where change password</div>
</li>
<li class="level1"><div class="li"> <a href="../../documentation/1.3/start.html#identity_provider" class="wikilink1" title="documentation:1.3:start">Identity provider</a>: how forward user identity</div>
</li>
</ul>

<p>

<p><div class="notetip">Each module can be disabled using the <code>Null</code> backend.
</div></p>
</p>

</div>
<!-- SECTION "Functioning" [1599-2145] -->
<h2><a name="kinematics" id="kinematics">Kinematics</a></h2>
<div class="level2">
<ol>
<li class="level1"><div class="li"> Check if <acronym title="Uniform Resource Locator">URL</acronym> asked is valid</div>
</li>
<li class="level1"><div class="li"> Check if user is already authenticated</div>
<ul>
<li class="level2"><div class="li"> If not authenticated (or authentication is forced) try to find it (userDB module) and to authenticate it (auth module), create session, calculate groups and macros and store them. In 1.3, <acronym title="LemonLDAP::NG">LL::NG</acronym> have a captcha feature which is used in this case.</div>
</li>
</ul>
</li>
<li class="level1"><div class="li"> Modify password if asked</div>
</li>
<li class="level1"><div class="li"> Provides identity if asked</div>
</li>
<li class="level1"><div class="li"> Build <a href="../../documentation/1.3/ssocookie.html" class="wikilink1" title="documentation:1.3:ssocookie">cookie(s)</a></div>
</li>
<li class="level1"><div class="li"> Redirect user to the asked <acronym title="Uniform Resource Locator">URL</acronym> or display menu</div>
</li>
</ol>

<p>

<p><div class="noteclassic">See also <a href="../../documentation/presentation.html#kinematics" class="wikilink1" title="documentation:presentation">general kinematics presentation</a>.
</div></p>

</p>

</div>
<!-- SECTION "Kinematics" [2146-] --></div><!-- closes <div class="dokuwiki export">-->