<?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: PHP framework CodeIgniter. Авторизация посетителей и ограничение доступа</title>
	<atom:link href="http://www.simplecoding.org/user-authorization.html/feed" rel="self" type="application/rss+xml" />
	<link>http://www.simplecoding.org/user-authorization.html</link>
	<description>Блог о программировании</description>
	<lastBuildDate>Thu, 11 Mar 2010 22:47:50 +0000</lastBuildDate>
	
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Max</title>
		<link>http://www.simplecoding.org/user-authorization.html#comment-5669</link>
		<dc:creator>Max</dc:creator>
		<pubDate>Thu, 20 Aug 2009 07:39:28 +0000</pubDate>
		<guid isPermaLink="false">http://www.simplecoding.org/user-authorization.html#comment-5669</guid>
		<description>чччёрт, я не первый такой умный, сорри, не дочитал каменты</description>
		<content:encoded><![CDATA[<p>чччёрт, я не первый такой умный, сорри, не дочитал каменты</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Max</title>
		<link>http://www.simplecoding.org/user-authorization.html#comment-5668</link>
		<dc:creator>Max</dc:creator>
		<pubDate>Thu, 20 Aug 2009 07:38:01 +0000</pubDate>
		<guid isPermaLink="false">http://www.simplecoding.org/user-authorization.html#comment-5668</guid>
		<description>А чем не нравится использование библиотеки в автолоаде? в конструкторе класса (так мы его инициализируем) делаем все нужные вещи с авторизацией - если надо - отправляем на индекс, на защащённую страницу, да хоть к чёрту на рога. При этом, совсем не обязательно теперь дублировать этот ремап в других классах (ни в одном классе, я бы даже так сказал :) ). Вот и всё :)</description>
		<content:encoded><![CDATA[<p>А чем не нравится использование библиотеки в автолоаде? в конструкторе класса (так мы его инициализируем) делаем все нужные вещи с авторизацией &#8211; если надо &#8211; отправляем на индекс, на защащённую страницу, да хоть к чёрту на рога. При этом, совсем не обязательно теперь дублировать этот ремап в других классах (ни в одном классе, я бы даже так сказал <img src='http://www.simplecoding.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  ). Вот и всё <img src='http://www.simplecoding.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Владимир</title>
		<link>http://www.simplecoding.org/user-authorization.html#comment-4850</link>
		<dc:creator>Владимир</dc:creator>
		<pubDate>Mon, 18 May 2009 16:42:09 +0000</pubDate>
		<guid isPermaLink="false">http://www.simplecoding.org/user-authorization.html#comment-4850</guid>
		<description>Библиотека - правильное решение.
Правда я последнее время пользуюсь готовыми.</description>
		<content:encoded><![CDATA[<p>Библиотека &#8211; правильное решение.<br />
Правда я последнее время пользуюсь готовыми.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: illusions</title>
		<link>http://www.simplecoding.org/user-authorization.html#comment-4846</link>
		<dc:creator>illusions</dc:creator>
		<pubDate>Sun, 17 May 2009 17:45:50 +0000</pubDate>
		<guid isPermaLink="false">http://www.simplecoding.org/user-authorization.html#comment-4846</guid>
		<description>Делал похоже как у вас, но весь код вынес в отдельную либу authorize и сделал ей автолоад.</description>
		<content:encoded><![CDATA[<p>Делал похоже как у вас, но весь код вынес в отдельную либу authorize и сделал ей автолоад.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Simplelogin &#8212; простая авторизация для CodeIgniter &#187; Статья &#187; BlogerStyle</title>
		<link>http://www.simplecoding.org/user-authorization.html#comment-2179</link>
		<dc:creator>Simplelogin &#8212; простая авторизация для CodeIgniter &#187; Статья &#187; BlogerStyle</dc:creator>
		<pubDate>Wed, 20 Aug 2008 09:45:10 +0000</pubDate>
		<guid isPermaLink="false">http://www.simplecoding.org/user-authorization.html#comment-2179</guid>
		<description>[...] Механизм авторизации, описанный Владимиром в посте «PHP framework CodeIgniter. Авторизация посетителей и ограничение... для до сих пор остается непонятным )) Точнее не сам [...]</description>
		<content:encoded><![CDATA[<p>[...] Механизм авторизации, описанный Владимиром в посте «<acronym title="PHP: Hypertext Preprocessor">PHP</acronym> framework CodeIgniter. Авторизация посетителей и ограничение&#8230; для до сих пор остается непонятным )) Точнее не сам [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: go</title>
		<link>http://www.simplecoding.org/user-authorization.html#comment-1069</link>
		<dc:creator>go</dc:creator>
		<pubDate>Mon, 09 Jun 2008 15:59:30 +0000</pubDate>
		<guid isPermaLink="false">http://www.simplecoding.org/user-authorization.html#comment-1069</guid>
		<description>да про добавление в switch это действительно моментик )) 
кстати вот проект сделанный на CI - proday.by 
доска ВИДЕО объявлений
(правда видео пока никто не добавил) =-)
там для видео мы использовали youtube API...
а нашем случае авторизацю вынесли в отдельный контроллер а в основном контроллере в конструкторе делаем простую проверку</description>
		<content:encoded><![CDATA[<p>да про добавление в switch это действительно моментик ))<br />
кстати вот проект сделанный на CI &#8211; proday.by<br />
доска ВИДЕО объявлений<br />
(правда видео пока никто не добавил) =-)<br />
там для видео мы использовали youtube <acronym title="Application Programming Interface">API</acronym>&#8230;<br />
а нашем случае авторизацю вынесли в отдельный контроллер а в основном контроллере в конструкторе делаем простую проверку</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Владимир</title>
		<link>http://www.simplecoding.org/user-authorization.html#comment-1066</link>
		<dc:creator>Владимир</dc:creator>
		<pubDate>Mon, 09 Jun 2008 12:50:24 +0000</pubDate>
		<guid isPermaLink="false">http://www.simplecoding.org/user-authorization.html#comment-1066</guid>
		<description>Да, вы правильно поняли :-)
Отсечь и уловить - это дополнительный код, а, учитывая, что есть готовая функция, это дублирование кода.
Согласен, обращение классическим способом выглядит лучше.

&gt;&gt; принимает два параметра
Признаю, просмотрел. Код лень было смотреть, ориентировался на доку. Спасибо!

&gt;&gt; запрос на несуществующий метод
Тут ситуация такая, если авторизированный посетитель обратиться к несуществующей странице, то действительно возникнет ошибка (как и при обычной работе фреймворка). А для не авторизированного посетителя в любом случае будет показана главная страница.

&gt;&gt; юзать PHP5
я не против, но почему бы не сделать просто страницу для ошибки 404 с навигацией по сайту?

&gt;&gt; я ведь знаю что нужно моему методу
конечно, знаете, но при добавлении новых методов придется вручную добавлять их в switch</description>
		<content:encoded><![CDATA[<p>Да, вы правильно поняли <img src='http://www.simplecoding.org/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /><br />
Отсечь и уловить &#8211; это дополнительный код, а, учитывая, что есть готовая функция, это дублирование кода.<br />
Согласен, обращение классическим способом выглядит лучше.</p>
<p>>> принимает два параметра<br />
Признаю, просмотрел. Код лень было смотреть, ориентировался на доку. Спасибо!</p>
<p>>> запрос на несуществующий метод<br />
Тут ситуация такая, если авторизированный посетитель обратиться к несуществующей странице, то действительно возникнет ошибка (как и при обычной работе фреймворка). А для не авторизированного посетителя в любом случае будет показана главная страница.</p>
<p>>> юзать PHP5<br />
я не против, но почему бы не сделать просто страницу для ошибки 404 с навигацией по сайту?</p>
<p>>> я ведь знаю что нужно моему методу<br />
конечно, знаете, но при добавлении новых методов придется вручную добавлять их в switch</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: go</title>
		<link>http://www.simplecoding.org/user-authorization.html#comment-1063</link>
		<dc:creator>go</dc:creator>
		<pubDate>Mon, 09 Jun 2008 06:37:44 +0000</pubDate>
		<guid isPermaLink="false">http://www.simplecoding.org/user-authorization.html#comment-1063</guid>
		<description>Если я вас првильно  понимаю то переданный в call_user_func_array массив параметров в метод передадутся уже не в виде массива а так как нужно методу? если так то это действительно удобно соглашусь с вами.
Хоия считаю  что в методе на приеме можно это все отловить и усечь. Просто внешне согласитесь, ну совершенно привычней и логичней был бы обращение к методу классическим способом/

а так вообще то _remap примнимает два параметра
1. название метода 
2. массив параметров
да в доках это не сказано, но зато в исходниках отчетливо видно что именно так и происходит.
&lt;code&gt;
	// Is there a &quot;remap&quot; function?
	if (method_exists($CI, &#039;_remap&#039;))
	{
		$CI-&gt;_remap($method,array_slice($URI-&gt;rsegments, 2));
&lt;/code&gt;

честно говоря я не пойму зачем в выше приведенном коде 5 и 6 строчки (в самом верху страницы)? и главное ведь данный код совершенно ни как не спасает если придет запрос на несуществующий метод )) !!
поэтому придется либо юзать PHP5 ( я за!!! ) и там есть метод _call который сработает в случае если нет такого метода и тогда ваш вариант с call_user_func... как раз подойдет
либо делать все равно switch
ну либо фиксит CI и делать проверку на метод в CodeIgniter.php 

а я делал в своем проекте 
_remap и большой switch и вызывал в case&#039;ах $this-&gt;$method($args[0]), к примеру,
 я ведь знаю что нужно моему методу )) в смысле какие параметры</description>
		<content:encoded><![CDATA[<p>Если я вас првильно  понимаю то переданный в call_user_func_array массив параметров в метод передадутся уже не в виде массива а так как нужно методу? если так то это действительно удобно соглашусь с вами.<br />
Хоия считаю  что в методе на приеме можно это все отловить и усечь. Просто внешне согласитесь, ну совершенно привычней и логичней был бы обращение к методу классическим способом/</p>
<p>а так вообще то _remap примнимает два параметра<br />
1. название метода<br />
2. массив параметров<br />
да в доках это не сказано, но зато в исходниках отчетливо видно что именно так и происходит.<br />
<code><br />
	// Is there a "remap" function?<br />
	if (method_exists($CI, '_remap'))<br />
	{<br />
		$CI-&gt;_remap($method,array_slice($<acronym title="Uniform Resource Identifier">URI</acronym>-&gt;rsegments, 2));<br />
</code></p>
<p>честно говоря я не пойму зачем в выше приведенном коде 5 и 6 строчки (в самом верху страницы)? и главное ведь данный код совершенно ни как не спасает если придет запрос на несуществующий метод )) !!<br />
поэтому придется либо юзать PHP5 ( я за!!! ) и там есть метод _call который сработает в случае если нет такого метода и тогда ваш вариант с call_user_func&#8230; как раз подойдет<br />
либо делать все равно switch<br />
ну либо фиксит CI и делать проверку на метод в CodeIgniter.php </p>
<p>а я делал в своем проекте<br />
_remap и большой switch и вызывал в case&#039;ах $this-&gt;$method($args[0]), к примеру,<br />
 я ведь знаю что нужно моему методу )) в смысле какие параметры</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Владимир</title>
		<link>http://www.simplecoding.org/user-authorization.html#comment-1059</link>
		<dc:creator>Владимир</dc:creator>
		<pubDate>Sun, 08 Jun 2008 17:49:23 +0000</pubDate>
		<guid isPermaLink="false">http://www.simplecoding.org/user-authorization.html#comment-1059</guid>
		<description>Почему откоряка?
Может памяти и больше потребляется, но и количество кода сокращается. CI позволяет получить параметры в виде массива. Если использовать $this-&gt;$method($pars), то сначала придется проверить сколько параметров нужно передать и написать что-то вроде:
&lt;code&gt;switch ($count) {
   case 1: $this-&gt;$method($pars[0]);
   case 2: $this-&gt;$method($pars[0], $pars[1]);
   ...
}&lt;/code&gt;
И заодно проверить сколько параметров принимает данный метод.
Вобщем сделать все то, что скорее всего делает метод call_user_func_array.</description>
		<content:encoded><![CDATA[<p>Почему откоряка?<br />
Может памяти и больше потребляется, но и количество кода сокращается. CI позволяет получить параметры в виде массива. Если использовать $this-&gt;$method($pars), то сначала придется проверить сколько параметров нужно передать и написать что-то вроде:<br />
<code>switch ($count) {<br />
   case 1: $this-&gt;$method($pars[0]);<br />
   case 2: $this-&gt;$method($pars[0], $pars[1]);<br />
   ...<br />
}</code><br />
И заодно проверить сколько параметров принимает данный метод.<br />
Вобщем сделать все то, что скорее всего делает метод call_user_func_array.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: go</title>
		<link>http://www.simplecoding.org/user-authorization.html#comment-1058</link>
		<dc:creator>go</dc:creator>
		<pubDate>Sun, 08 Jun 2008 17:11:42 +0000</pubDate>
		<guid isPermaLink="false">http://www.simplecoding.org/user-authorization.html#comment-1058</guid>
		<description>Владмир, а вам не кажется что это откоряка? чистой воды...
во-первых указанный мною способ визуально логичнее для восприятия, а во-вторых вместо одного вызова вы делаете два! т.е. вначале вызов call_.... а потом эта функция наверняка делает вызов нужного метода... в результате вы используете больше памяти (не намного но больше).</description>
		<content:encoded><![CDATA[<p>Владмир, а вам не кажется что это откоряка? чистой воды&#8230;<br />
во-первых указанный мною способ визуально логичнее для восприятия, а во-вторых вместо одного вызова вы делаете два! т.е. вначале вызов call_&#8230;. а потом эта функция наверняка делает вызов нужного метода&#8230; в результате вы используете больше памяти (не намного но больше).</p>
]]></content:encoded>
	</item>
</channel>
</rss>
