1

Тема: Концептуальне запитання про Guest

В багатьох (якщо не всих) php фреймворках, в їхніх системах авторизації, використовують групу/роль guest або public. Ніяк не розумію навіщо? Може хтось на пальцях пояснити?

2

Re: Концептуальне запитання про Guest

може тому, що там є ще група типу Admin
спеціально подивився django (думаю що неважливо на якій мові фреймворк) - тут пише таке про групи і для чого вони:

django.contrib.auth.models.Group models are a generic way of categorizing users so you can apply permissions, or some other label, to those users. A user can belong to any number of groups.

A user in a group automatically has the permissions granted to that group. For example, if the group Site editors has the permission can_edit_home_page, any user in that group will have that permission.

Beyond permissions, groups are a convenient way to categorize users to give them some label, or extended functionality. For example, you could create a group 'Special users', and you could write code that could, say, give them access to a members-only portion of your site, or send them members-only email messages.

First, solve the problem. Then, write the code. (c)JJ

3

Re: Концептуальне запитання про Guest

Упс... якось прогавив відповідь. Але признаюсь, з наведеного тексту, я так і не зрозумів навіщо отой паблік чи гуест. Якщо я роблю паблік частину веб-проекту, я не провіряю там жодних пермішенів, бо мені байдуже на них - ця ж частина загальнодоступна. Навіщо тоді оті групи?

4

Re: Концептуальне запитання про Guest

Коли ви робите непублічну частину проекту, то деякі функції перевіряють дозволи. А найцікавіше починається, коли вам треба викладати шмат непублічної частини у публічний доступ - а вона активно використовує ім'я користувача, його групу, перевірки дозволів... отут і виходить, що група guest для незалогінених - досить добре рішення. Користувач переживе, якщо зверху буде написано "Ласкаво просимо, guest!" - а от переписувати всі місця, де цей $username зустрічається, може бути досить довго.

Подякували: bvn, leofun012