Upload
vandang
View
219
Download
0
Embed Size (px)
Citation preview
security.ymlفایل
3
# app/config/security.yml
security:
firewalls:
secured_area:
pattern: ^/
anonymous: ~
http_basic:
realm: "Secured Demo Area"
access_control:
- { path: ^/admin, roles: ROLE_ADMIN }
(ادام) security.ymlفایل
4
providers:
in_memory:
memory:
users:
ryan: { password: ryanpass, roles: 'ROLE_USER' }
admin: { password: kitten, roles: 'ROLE_ADMIN' }
encoders:
Symfony\Component\Security\Core\User\User:
plaintext
دادن اجاز ترای دسترسی ت مىاتع کىترلرURL
...
Role ا
اRoleکارتر ي دارا تدن اRoleمىثع ي ویاز ت داشته
12
دادن اجاز ترای دسترسی ت مىاتع کىترلرURL
...
Role ا
اRoleکارتر ي دارا تدن اRoleمىثع ي ویاز ت داشته
13
ا( URL)مسیر
تطاتق اعمال دسترسی
14
# app/config/security.yml
security:
#...
access_control:
- { path: ^/admin/users, roles: ROLE_S_ADMIN }
- { path: ^/admin, roles: ROLE_ADMIN }
تطاتق مسیر
IP
Host method
15
# app/config/security.yml
security:
access_control:
- { path: ^/admin, roles: ROLE_USER_IP, ip: 127.0.0.1 }
- { path: ^/admin, roles: ROLE_USER_HOST, host:
symfony.com }
- { path: ^/admin, roles: ROLE_USER_METHOD, methods:
[POST, PUT] }
- { path: ^/admin, roles: ROLE_USER }
اعمال دسترسیRole
کاوال ارتثاط
16
# app/config/security.yml
security:
access_control:
- { path: ^/cart/checkout, roles:
IS_AUTHENTICATED_ANONYMOUSLY, requires_channel:
https }
تىظیماتفایل ذخیر در حافظ
19
# app/config/security.yml
security:
providers:
default_provider:
memory:
users:
ryan: { password: ryanpass, roles: 'ROLE_USER' }
admin: { password: kitten, roles: 'ROLE_ADMIN' }
پایگا داد مدل
20
# app/config/security.yml
security:
providers:
main:
entity: { class: Acme\UserBundle\Entity\User, property:
username }
کد کردن رمس (تثدیل یک طرف) Hashتاتع
21
# app/config/security.yml
security:
...
ryan: { password:
bb87a29949f3a1ee0559f8a57357487151281386, roles:
'ROLE_USER' }
encoders:
Symfony\Component\Security\Core\User\User:
algorithm: sha1
iterations: 1
encode_as_base64: false
security contextسريیس کىترلر
قالة
22
public function indexAction()
{
$use = $this->get('security.context')->getUser();
$user = $this->getUser();
if ($this->get('security.context')->isGranted('ROLE_ADMIN')) {
// ... load admin content here
}
}
<p>Username: {{ app.user.username }}</p>
{% if is_granted('ROLE_ADMIN') %}