WebStack

Annotated docs/securing.html

503:5e29854fe10d
2005-11-15 paulb [project @ 2005-11-15 15:46:01 by paulb] Added has_key method.
paulb@360 1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
paulb@328 2
<html xmlns="http://www.w3.org/1999/xhtml">
paulb@328 3
<head>
paulb@328 4
  <title>Securing a WebStack Application</title>
paulb@360 5
  <meta name="generator"
paulb@360 6
 content="amaya 8.1a, see http://www.w3.org/Amaya/" />
paulb@328 7
  <link href="styles.css" rel="stylesheet" type="text/css" />
paulb@328 8
</head>
paulb@328 9
<body>
paulb@328 10
<h1>Securing a WebStack Application</h1>
paulb@360 11
<p>Making sure that Web applications are "secure" involves many
paulb@360 12
different
paulb@360 13
aspects of application design, deployment and administration. This
paulb@360 14
guide currently only covers the usage of the authentication features of
paulb@360 15
the WebStack API.</p>
paulb@328 16
<h2>Authentication in WebStack</h2>
paulb@360 17
<p>There are two principal methods of introducing authentication and
paulb@360 18
applying
paulb@328 19
access control to WebStack applications:</p>
paulb@328 20
<ul>
paulb@333 21
  <li><a href="authenticators.html">Application-Wide Authenticators</a></li>
paulb@333 22
  <li><a href="login-redirect.html">LoginRedirect and Login Modules</a></li>
paulb@333 23
</ul>
paulb@334 24
<p>Here is a comparison of the features of these mechanisms:</p>
paulb@360 25
<table border="1" cellpadding="5" cellspacing="0">
paulb@334 26
  <tbody>
paulb@334 27
    <tr>
paulb@334 28
      <td></td>
paulb@334 29
      <th>Application-Wide Authenticators</th>
paulb@334 30
      <th>LoginRedirect and Login Modules</th>
paulb@334 31
    </tr>
paulb@334 32
    <tr>
paulb@334 33
      <th>Deployment</th>
paulb@360 34
      <td>
paulb@360 35
      <ul>
paulb@360 36
        <li>Some Web server configuration required.</li>
paulb@360 37
        <li>The application only requires an additional object to be
paulb@360 38
instantiated to support authentication.</li>
paulb@360 39
      </ul>
paulb@360 40
      </td>
paulb@360 41
      <td>
paulb@360 42
      <ul>
paulb@360 43
        <li>An additional login application or resource must be
paulb@360 44
deployed.</li>
paulb@360 45
      </ul>
paulb@360 46
      </td>
paulb@334 47
    </tr>
paulb@334 48
    <tr>
paulb@334 49
      <th>Flexibility</th>
paulb@360 50
      <td>
paulb@360 51
      <ul>
paulb@360 52
        <li>The user experience may seem too inflexible or unfriendly -
paulb@360 53
users may only get the login dialogue.</li>
paulb@360 54
        <li>There is also probably no logout function, since it
paulb@360 55
requires browser support.</li>
paulb@360 56
        <li> HTTP-style authentication is well understood and supported
paulb@360 57
when automating client access.</li>
paulb@360 58
      </ul>
paulb@360 59
      </td>
paulb@360 60
      <td>
paulb@360 61
      <ul>
paulb@360 62
        <li>The login and logout activities can be customised to suit
paulb@360 63
the appearance of the rest of the application.</li>
paulb@360 64
        <li> Many applications can share the same login application,
paulb@360 65
providing a "single sign-on" experience and potentially reduced
paulb@360 66
administrative overhead.</li>
paulb@360 67
      </ul>
paulb@360 68
      </td>
paulb@334 69
    </tr>
paulb@334 70
  </tbody>
paulb@334 71
</table>
paulb@328 72
</body>
paulb@328 73
</html>