У меня есть пользователи, которые попадают в следующийКак я могу организовать код полномочий?
- Не зарегистрированы
- Не Проверенный
- Проверенные
- Модератор
- Администратор
Весь код, только администратор и модераторы могут доступ (например, запрет) находится в ModeratorUser, который наследует от проверенного, который наследует от BaseUser. Некоторые страницы доступны для всех пользователей, таких как общедоступные профили. Если пользователь вошел в систему, он может оставить комментарий. Чтобы проверить это, я использую if (IsVerifiedUser)
. Теперь вот проблема. Чтобы избежать проблем, если пользователь заблокирован, он не распознается как проверенный пользователь. Однако в редком случае мне нужно знать, проверен ли он, я могу использовать usertype & Verified
.
Должен ли я не делать этого? У меня есть куча кода в классе VerifiedUser, и я нахожу, что я перемещаю его в BaseUser. Является ли это чем-то полезным, потому что пользователь, не зарегистрированный в системе, может получить доступ к этой странице? Должен ли я обращаться с пользователем запрета по-другому и разрешить IsVerifiedUser быть правдой, даже если пользователь запрещен?
Какой код у вас есть в этих классах? Этот код должен быть о пользователе, а не о том, что разрешено делать конкретному пользователю. –
@John Saunders Посмотреть первый комментарий i left jerry – 2010-03-16 04:17:48
@acidzombie: комментарии Джерри показывают, что именно меня беспокоило. У вас есть код, сгруппированный по тому, что пользователь может сделать, вместо того, чтобы группироваться в классы по функциям. Когда правила меняются, вам нужно изменить иерархию классов. Нехорошо. –