23
کارشناسی درس بهار۱۳۹۱-۹۲ وشگا دا ص ىعتی شریفىدسی ماوشکد دتر کامپی قسمت۱۳ امنیت درSymfony2

یسانشراک سرد ۹۲ راهب ۱۳ تمسق ...ce.sharif.edu/courses/91-92/2/ce419-1/resources/root/Lecture Slides... · یسانشراک سرد ۱۳۹۱-۹۲ راهب یتعىص

  • Upload
    vandang

  • View
    219

  • Download
    0

Embed Size (px)

Citation preview

درس کارشناسی ۹۲-۱۳۹۱بهار

ىعتی صداوشگا شریف

داوشکد مىدسی کامپیتر

۱۳قسمت Symfony2امنیت در

(Authentication)تصدیق (Authorization)دادن اجاز

2

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

firewall الگای محديد حفاظت شد

کىترل دسترسی

گري ا کارتران ي گريا

5

6

7

8

9

HTTP Authentication

خطاا

۴۰۱ ۴۰۳

صفحات خطا

10

دیگر تصدیق ريش ایLogin Form

ساختار فرم ي ظار آن تررسی ي تصدیق

OpenID

11

دادن اجاز ترای دسترسی ت مىاتع کىترلر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 }

دیگر مىاتع سريیس ا

متد ا...

Access Control Lists

17

کارترامىثع معرفی تىظیماتفایل

پایگا داد سريیس يبیک

...

18

تىظیماتفایل ذخیر در حافظ

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') %}

Symfony Book, 2.2.

23