|
1 | 1 | {% extends '@WebProfiler/Profiler/layout.html.twig' %}
|
2 | 2 |
|
| 3 | +{% block page_title 'Security' %} |
| 4 | + |
3 | 5 | {% block toolbar %}
|
4 | 6 | {% if collector.tokenClass %}
|
5 | 7 | {% set is_authenticated = collector.enabled and collector.authenticated %}
|
|
9 | 11 | {% endif %}
|
10 | 12 |
|
11 | 13 | {% set icon %}
|
12 |
| - <svg version="1.1" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" height="24" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve"> |
13 |
| - <path fill="#AAAAAA" d="M21,20.4V22H3v-1.6c0-3.7,2.4-6.9,5.8-8c-1.7-1.1-2.9-3-2.9-5.2c0-3.4,2.7-6.1,6.1-6.1s6.1,2.7,6.1,6.1c0,2.2-1.2,4.1-2.9,5.2C18.6,13.5,21,16.7,21,20.4z"/> |
14 |
| - </svg> |
| 14 | + {{ include('@Security/Collector/icon.svg') }} |
15 | 15 | <span class="sf-toolbar-value">{{ collector.user|default('n/a') }}</span>
|
16 | 16 | {% endset %}
|
17 | 17 |
|
|
21 | 21 | <b>Logged in as</b>
|
22 | 22 | <span>{{ collector.user }}</span>
|
23 | 23 | </div>
|
| 24 | + |
24 | 25 | <div class="sf-toolbar-info-piece">
|
25 | 26 | <b>Authenticated</b>
|
26 | 27 | <span class="sf-toolbar-status sf-toolbar-status-{{ is_authenticated ? 'green' : 'red' }}">{{ is_authenticated ? 'Yes' : 'No' }}</span>
|
27 | 28 | </div>
|
| 29 | + |
28 | 30 | {% if collector.tokenClass != null %}
|
29 | 31 | <div class="sf-toolbar-info-piece">
|
30 | 32 | <b>Token class</b>
|
|
46 | 48 | {% endblock %}
|
47 | 49 |
|
48 | 50 | {% block menu %}
|
49 |
| -<span class="label"> |
50 |
| - <span class="icon"><svg width="42" height="30" xmlns="http://www.w3.org/2000/svg" version="1.1" x="0px" y="0px" viewBox="0 0 42 30" enable-background="new 0 0 42 30" xml:space="preserve"><g><path fill="#3F3F3F" d="M16.1 15.3c0-0.5 0-0.8 0-1.2c0.2-0.1 0.6-0.8 0.7-1.4c0.2 0 0.4-0.2 0.5-0.8c0-0.4-0.1-0.5-0.2-0.6 c0.3-0.8 0.8-3.4-1.1-3.7C15.7 7.2 15.2 7 14.6 7c-2.6 0-2.9 2-2.4 4.2c-0.1 0.1-0.3 0.3-0.2 0.6c0.1 0.7 0.3 0.8 0.5 0.8 c0.1 0.6 0.5 1.3 0.7 1.4c0 0.4 0 0.8 0 1.2c-0.5 1.4-4 1-4.2 3.7h11.2C20.1 16.3 16.6 16.7 16.1 15.3z"/><path fill="#3F3F3F" d="M28.3 10.2c-0.2 0-0.5 0.1-0.7 0.2c-0.2 0.1-0.4 0.3-0.6 0.6c-0.2 0.3-0.4 0.6-0.5 1s-0.2 0.7-0.2 1.1 c0 0.5 0.1 0.9 0.4 1.2s0.5 0.4 0.8 0.4c0.2 0 0.4-0.1 0.7-0.2c0.2-0.1 0.5-0.3 0.7-0.6s0.4-0.6 0.5-1c0.1-0.4 0.2-0.8 0.2-1.2 c0-0.5-0.1-0.9-0.4-1.2C29 10.3 28.7 10.2 28.3 10.2z"/><path fill="#3F3F3F" d="M34 4H7C6.4 4 6 4.4 6 5v19c0 0.6 0.4 1 1 1h5v-1c-0.6 0-1-0.4-1-1c0-0.6 0.4-1 1-1h2c0.6 0 1 0.4 1 1 c0 0.6-0.4 1-1 1v1h13v-1c-0.6 0-1-0.4-1-1c0-0.6 0.4-1 1-1h2c0.6 0 1 0.4 1 1c0 0.6-0.4 1-1 1v1h5c0.6 0 1-0.4 1-1V5 C35 4.4 34.6 4 34 4z M21 19c0 0.6-0.4 1-1 1H9c-0.6 0-1-0.4-1-1V7c0-0.6 0.4-1 1-1h11c0.6 0 1 0.4 1 1V19z M32.9 16.6 c-0.5 0.4-1 0.7-1.7 1c-0.6 0.2-1.4 0.4-2.3 0.4c-0.8 0-1.6-0.1-2.3-0.3c-0.7-0.2-1.3-0.5-1.8-1c-0.5-0.4-0.9-0.9-1.1-1.5 c-0.3-0.7-0.5-1.5-0.5-2.3c0-0.9 0.2-1.8 0.6-2.6c0.5-1 1.1-1.8 2-2.4C26.5 7.3 27.6 7 28.8 7c0.9 0 1.8 0.2 2.5 0.6 c0.7 0.4 1.3 1 1.8 1.7c0.4 0.7 0.6 1.4 0.6 2.1c0 1.1-0.4 2.1-1.2 2.9c-0.7 0.8-1.4 1.2-2.3 1.2c-0.3 0-0.5 0-0.6-0.1 c-0.2-0.1-0.3-0.2-0.4-0.3c0-0.1-0.1-0.3-0.1-0.5c-0.2 0.3-0.5 0.5-0.8 0.7c-0.3 0.2-0.6 0.3-0.9 0.3c-0.3 0-0.7-0.1-1-0.3 c-0.3-0.2-0.6-0.5-0.8-0.9c-0.2-0.4-0.3-0.9-0.3-1.3c0-0.6 0.2-1.2 0.5-1.8c0.3-0.6 0.7-1.1 1.2-1.4c0.5-0.3 0.9-0.5 1.3-0.5 c0.3 0 0.6 0.1 0.9 0.3c0.3 0.2 0.6 0.4 0.8 0.8l0.2-0.9h1l-0.8 3.8c-0.1 0.5-0.2 0.8-0.2 0.9c0 0.1 0 0.2 0.1 0.3 c0.1 0.1 0.2 0.1 0.3 0.1c0.2 0 0.5-0.1 0.8-0.3c0.4-0.3 0.8-0.7 1-1.2c0.3-0.5 0.4-1 0.4-1.6c0-0.6-0.2-1.2-0.5-1.8 c-0.3-0.6-0.8-1-1.5-1.3s-1.4-0.5-2.1-0.5c-0.9 0-1.7 0.2-2.4 0.6c-0.7 0.4-1.3 1-1.7 1.8C24.2 11 24 11.9 24 12.7 c0 0.9 0.2 1.7 0.6 2.4c0.4 0.7 1 1.2 1.8 1.5c0.8 0.3 1.6 0.5 2.5 0.5c1 0 1.8-0.2 2.5-0.5c0.7-0.3 1.2-0.7 1.5-1.2h1 C33.7 15.8 33.4 16.2 32.9 16.6z"/></g></svg></span> |
51 |
| - <strong>Security</strong> |
52 |
| -</span> |
| 51 | + <span class="label {{ not collector.enabled or not collector.tokenClass ? 'disabled' }}"> |
| 52 | + <span class="icon">{{ include('@Security/Collector/icon.svg') }}</span> |
| 53 | + <strong>Security</strong> |
| 54 | + </span> |
53 | 55 | {% endblock %}
|
54 | 56 |
|
55 | 57 | {% block panel %}
|
56 |
| - <h2>Security</h2> |
| 58 | + <h2>Security Token</h2> |
| 59 | + |
57 | 60 | {% if collector.tokenClass %}
|
| 61 | + <div class="metrics"> |
| 62 | + <div class="metric"> |
| 63 | + <span class="value">{{ collector.user == 'anon.' ? 'Anonymous' : collector.user }}</span> |
| 64 | + <span class="label">Username</span> |
| 65 | + </div> |
| 66 | + |
| 67 | + <div class="metric"> |
| 68 | + <span class="value">{{ include('@WebProfiler/Icon/' ~ (collector.authenticated ? 'yes' : 'no') ~ '.svg') }}</span> |
| 69 | + <span class="label">Authenticated</span> |
| 70 | + </div> |
| 71 | + </div> |
| 72 | + |
58 | 73 | <table>
|
59 |
| - <tr> |
60 |
| - <th>Username</th> |
61 |
| - <td>{{ collector.user }}</td> |
62 |
| - </tr> |
63 |
| - <tr> |
64 |
| - <th>Authenticated?</th> |
65 |
| - <td> |
66 |
| - {% if collector.authenticated %} |
67 |
| - yes |
68 |
| - {% else %} |
69 |
| - no {% if not collector.roles|length %}<em>(probably because the user has no roles)</em>{% endif %} |
70 |
| - {% endif %} |
71 |
| - </td> |
72 |
| - </tr> |
73 |
| - <tr> |
74 |
| - <th>Roles</th> |
75 |
| - <td>{{ collector.roles|yaml_encode }}</td> |
76 |
| - </tr> |
77 |
| - {% if collector.supportsRoleHierarchy %} |
78 |
| - <tr> |
79 |
| - <th>Inherited Roles</th> |
80 |
| - <td>{{ collector.inheritedRoles|yaml_encode }}</td> |
81 |
| - </tr> |
82 |
| - {% endif %} |
83 |
| - {% if collector.tokenClass != null %} |
84 |
| - <tr> |
85 |
| - <th>Token class</th> |
86 |
| - <td>{{ collector.tokenClass }}</td> |
87 |
| - </tr> |
88 |
| - {% endif %} |
| 74 | + <thead> |
| 75 | + <tr> |
| 76 | + <th scope="col" class="key">Property</th> |
| 77 | + <th scope="col">Value</th> |
| 78 | + </tr> |
| 79 | + </thead> |
| 80 | + <tbody> |
| 81 | + <tr> |
| 82 | + <th>Roles</th> |
| 83 | + <td> |
| 84 | + {{ collector.roles is empty ? 'none' : collector.roles|yaml_encode }} |
| 85 | + |
| 86 | + {% if not collector.authenticated and collector.roles is empty %} |
| 87 | + <p class="help">User is not authenticated probably because they have no roles.</p> |
| 88 | + {% endif %} |
| 89 | + </td> |
| 90 | + </tr> |
| 91 | + |
| 92 | + {% if collector.supportsRoleHierarchy %} |
| 93 | + <tr> |
| 94 | + <th>Inherited Roles</th> |
| 95 | + <td>{{ collector.inheritedRoles is empty ? 'none' : collector.inheritedRoles|yaml_encode }}</td> |
| 96 | + </tr> |
| 97 | + {% endif %} |
| 98 | + |
| 99 | + {% if collector.tokenClass %} |
| 100 | + <tr> |
| 101 | + <th>Token class</th> |
| 102 | + <td>{{ collector.tokenClass }}</td> |
| 103 | + </tr> |
| 104 | + {% endif %} |
| 105 | + </tbody> |
89 | 106 | </table>
|
90 | 107 | {% elseif collector.enabled %}
|
91 |
| - <p> |
92 |
| - <em>No token</em> |
93 |
| - </p> |
| 108 | + <div class="empty"> |
| 109 | + <p>There is no security token.</p> |
| 110 | + </div> |
94 | 111 | {% else %}
|
95 |
| - <p> |
96 |
| - <em>The security component is disabled</em> |
97 |
| - </p> |
| 112 | + <div class="empty"> |
| 113 | + <p>The security component is disabled.</p> |
| 114 | + </div> |
98 | 115 | {% endif %}
|
99 | 116 | {% endblock %}
|
0 commit comments