Обработка авторизации в веб-фреймворках - PullRequest
0 голосов
/ 25 апреля 2009

Я хочу написать простой веб-фреймворк сам, используя WSGI, Python. Я учусь разбираться в системе авторизации.

Система должна быть более модульной и достаточно абстрактной, чтобы добавить новую систему в проект в качестве плагина. Пользователь может использовать БД или распределенную пару ключ / значение, bigtable и т. Д. Для хранения своей информации.

Допустим, такие вещи являются контейнерами или провайдерами, которые могут быть добавлены в систему как плагины.

Я хочу определить IDENTITY очень высокого уровня для пользователя, который вошел в систему. «Identity» - это правильное слово, используемое многими фреймворками. Но действительно сложно определить «идентичность» как объект из-за его сложной природы. Он может содержать все, что является специфическим для приложения. Но, когда мы пишем заявление, приложение должно позаботиться о том, что находится в личности. Но в качестве основы его не волнует, что такое личность.

Аутентификация должна быть отделена от авторизации.

Пользователи, группы, роли / разрешения могут быть оформлены как плагины. Идея, лежащая в основе этой концепции, заключается в том, чтобы написать хорошую платформу (по крайней мере для меня для исследований) с достаточным пространством для плагинов и позволить разработчикам приложений написать переносимый код, который подходит для приложения.

Можно ли работать с объектом «идентичность» на всей платформе?

1 Ответ

0 голосов
/ 26 апреля 2009

«Можно ли работать с объектом« identity »на всей платформе?»

«Но действительно трудно определить« идентичность »как объект из-за его сложной природы».

Пока вы не определите личность, да, с ней трудно работать.

Идентификация должна быть указана положительно. Если оставить его настолько расплывчатым, что «оно может содержать что-то специфическое для приложения», это означает, что вы никогда не сможете начать писать что-нибудь полезное, потому что слишком волнуетесь, что «когда-нибудь кто-то может придумать концепцию идентичности, с которой вы не сможете справиться» ».

Хватит беспокоиться. Идентичность четко определена и не сложна. HTTP и другие протоколы определяют «авторизацию» (настоящую аутентификацию) с помощью имен пользователей, паролей и областей. И это все, что вам действительно нужно.

Делайте то, что делает Джанго: разрешите кому-нибудь добавить «Профиль» с дополнительными фактами о человеке. Профиль не является центральным для идентификации и аутентификации. Это не главное в авторизации. Но любой может добавить материал «Профиль» для своего конкретного приложения.

Не пишите одну модель, которая делает все.

Напишите одну модель, которая работает, и кто-то может добавить к.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...