vigiboard / dashboard / templates / authentication.html @ 70c5f034
History | View | Annotate | Download (2.84 KB)
1 | 805cc54a | Thomas ANDREJAK | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
---|---|---|---|
2 | "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||
3 | <html xmlns="http://www.w3.org/1999/xhtml" |
||
4 | xmlns:py="http://genshi.edgewall.org/" |
||
5 | xmlns:xi="http://www.w3.org/2001/XInclude"> |
||
6 | |||
7 | <xi:include href="master.html" /> |
||
8 | |||
9 | <head>
|
||
10 | <meta content="text/html; charset=UTF-8" http-equiv="content-type" py:replace="''"/> |
||
11 | <title>Learning TurboGears 2.0: Quick guide to authentication.</title> |
||
12 | </head>
|
||
13 | |||
14 | <body>
|
||
15 | ${sidebar_top()} |
||
16 | ${sidebar_bottom()} |
||
17 | <div id="getting_started"> |
||
18 | <h2>Authentication & Authorization in a TG2 site.</h2> |
||
19 | <p>If you have access to this page, this means you have enabled authentication and authorization
|
||
20 | in the quickstart to create your project.</p>
|
||
21 | <p>
|
||
22 | The paster command will have created a few specific controllers for you. But before you |
||
23 | go to play with those controllers you'll need to make sure your application has been |
||
24 | properly bootstapped. |
||
25 | This is dead easy, here is how to do this: |
||
26 | </p>
|
||
27 | |||
28 | <span class="code"> |
||
29 | paster setup-app development.ini |
||
30 | </span>
|
||
31 | |||
32 | <p>
|
||
33 | inside your application's folder and you'll get a database setup (using the preferences you have |
||
34 | set in your development.ini file). This database will also have been prepopulated with some |
||
35 | default logins/passwords so that you can test the secured controllers and methods. |
||
36 | </p>
|
||
37 | <p>
|
||
38 | To change the comportement of this setup-app command you just need to edit the <span class="code">websetup.py</span> file. |
||
39 | </p>
|
||
40 | <p>
|
||
41 | Now try to visiting the <a href="${tg.url('/manage_permission_only')}">manage_permission_only</a> URL. You will be challenged with a login/password form. |
||
42 | </p>
|
||
43 | <p>
|
||
44 | Only managers are authorized to visit this method. You will need to log-in using: |
||
45 | <p>
|
||
46 | <span class="code"> |
||
47 | login: manager |
||
48 | </span>
|
||
49 | </p>
|
||
50 | <p>
|
||
51 | <span class="code"> |
||
52 | password: managepass |
||
53 | </span>
|
||
54 | </p>
|
||
55 | </p>
|
||
56 | <p>
|
||
57 | Another protected resource is <a href="${tg.url('/editor_user_only')}">editor_user_only</a>. This one is protected by a different set of permissions. |
||
58 | You will need to be <span class="code">editor</span> with a password of <span class="code">editpass</span> to be able to access it. |
||
59 | </p>
|
||
60 | <p>
|
||
61 | The last kind of protected resource in this quickstarted app is a full so called <a href="${tg.url('/secc')}">secure controller</a>. This controller is protected globally. |
||
62 | Instead of having a @require decorator on each method, we have set an allow_only attribute at the class level. All the methods in this controller will |
||
63 | require the same level of access. You need to be manager to access <a href="${tg.url('/secc')}">secc</a> or <a href="${tg.url('/secc/some_where')}">secc/some_where</a>. |
||
64 | </p>
|
||
65 | </div>
|
||
66 | </body>
|
||
67 | </html> |