<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Django и контроль доступа с человеческим лицом</title>
	<atom:link href="http://alexlebedev.com/blog/django-nonpublic-middleware/feed/" rel="self" type="application/rss+xml" />
	<link>http://alexlebedev.com/blog/django-nonpublic-middleware/</link>
	<description>Alexander Lebedev writes about software development and outsourcing</description>
	<lastBuildDate>Wed, 29 Dec 2010 09:51:37 -0800</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Yuri Baburov</title>
		<link>http://alexlebedev.com/blog/django-nonpublic-middleware/comment-page-1/#comment-85692</link>
		<dc:creator>Yuri Baburov</dc:creator>
		<pubDate>Tue, 16 Feb 2010 17:27:57 +0000</pubDate>
		<guid isPermaLink="false">http://alexlebedev.com/blog/django-nonpublic-middleware/#comment-85692</guid>
		<description>&lt;p&gt;Не, всё хорошо, только есть ещё более идеологически правильный способ.&lt;/p&gt;

&lt;p&gt;Вы можете заменить в urls метод patterns() или include() на ваш собственный, который будет навешивать нужный (или произвольно указанный) декоратор.&lt;/p&gt;

&lt;p&gt;В результате:
 - дублирование кода ещё меньше.
 - те же самые гарантии безопасности
 - в отличие от вашего, подход расширяемый: вы можете описать ещё больше разных нужных декораторов (например, login_with_role, require_permission, vary или nocache).&lt;/p&gt;

&lt;p&gt;А чтобы удостовериться, что разработчики не забыли обязать пользователя залогиниться, нормальные люди пишут тесты.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Не, всё хорошо, только есть ещё более идеологически правильный способ.</p>
<p>Вы можете заменить в urls метод patterns() или include() на ваш собственный, который будет навешивать нужный (или произвольно указанный) декоратор.</p>
<p>В результате:<br />
 &#8211; дублирование кода ещё меньше.<br />
 &#8211; те же самые гарантии безопасности<br />
 &#8211; в отличие от вашего, подход расширяемый: вы можете описать ещё больше разных нужных декораторов (например, login_with_role, require_permission, vary или nocache).</p>
<p>А чтобы удостовериться, что разработчики не забыли обязать пользователя залогиниться, нормальные люди пишут тесты.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Софт</title>
		<link>http://alexlebedev.com/blog/django-nonpublic-middleware/comment-page-1/#comment-52001</link>
		<dc:creator>Софт</dc:creator>
		<pubDate>Thu, 12 Mar 2009 10:26:35 +0000</pubDate>
		<guid isPermaLink="false">http://alexlebedev.com/blog/django-nonpublic-middleware/#comment-52001</guid>
		<description>&lt;p&gt;Не понял, а модуль security.py написан вами, или вы его где-то нашли?&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Не понял, а модуль security.py написан вами, или вы его где-то нашли?</p>
]]></content:encoded>
	</item>
</channel>
</rss>

