powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Парсер
163 сообщений из 163, показаны все 7 страниц
Парсер
    #38357074
VIT2708
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Знаю что уже много обсуждали данный вопрос но только он у меня несколько необычный но очень простой. Библиотеки парсеры не использую так как функционал простой тем не менее появилась проблема которую пока даже не знаю как решить.


И так есть html таблица шапка и одна строка (более строк не бывает)

Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
<table>
<tr>
<td>
ФИО
</td>
<td>
ТЕЛЕФОН
</td>
<td>
Идентификационный код
</td>
<td>
Прочая инфа
</td>
</tr>

<tr>
<td>
Пупкин
</td>
<td>
06711111111
</td>
<td></td>
<td>
Примечание
</td>
</tr>
</table>



ИНН я не указывал так как есть не обязательные поля

так вот в программе я это разбираю так

Код: c#
1.
2.
3.
4.
5.
6.
//....чтение инфы и т д.
string[] values = strResult.Split(new string[] { "<tbody>", "</tbody>" }, StringSplitOptions.RemoveEmptyEntries);
string[] tr = values[1].Split(new string[] { "<tr>", "</tr>" }, StringSplitOptions.RemoveEmptyEntries);

string[] head = tr[0].Split(new string[] { "<td>", "</td>" }, StringSplitOptions.RemoveEmptyEntries);
string[] data = tr[1].Split(new string[] { "<td>", "</td>" }, StringSplitOptions.RemoveEmptyEntries);



//построив два массива далее я успешно их обрабатывал но появилась еще одна "контора" которая тоже присылает html файл он 1:1 как и другие кроме одного все идет сплошным текстом

Код: html
1.
<table><tr><td>ФИО</td><td>ТЕЛЕФОН</td><td>Идентификационный код</td><td>Прочая инфа</td></tr><tr><td>Пупкин</td><td>06711111111</td><td></td><td>Примечание</td></tr></table>



И вот если между тегами нет текста (<td></td>) то в переменную data не добавляется ничего и длинна массива head становится больше чем data

Как должно быть

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
head[0] = "ФИО";
head[1] = "ТЕЛЕФОН";
head[2] = "Идентификационный код";
head[3] = "Прочая инфа";

data[0] =  "Пупкин";
data[1] =  "06711111111";
data[2] =  "";
data[3] =  "Примечание";



как есть сейчас

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
head[0] = "ФИО";
head[1] = "ТЕЛЕФОН";
head[2] = "Идентификационный код";
head[3] = "Прочая инфа";

data[0] =  "Пупкин";
data[1] =  "06711111111";
data[2] =  "Примечание";



data[2] = ""; - хоть оно и пустое но оно должно быть

Подскажите как это можна решить, что бы индексы строк массива data из-за этого не "съезжали" ?

Спасибо.
...
Рейтинг: 0 / 0
Парсер
    #38357269
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VIT2708Подскажите как это можна решить, что бы индексы строк массива data из-за этого не "съезжали" ?Вообще не писать подобный говнокод будет лучшим решением.

Это же фактически xml. Если в ячейках нет невалидных html-тегов типа <br>, то работать с этим текстом надо как с xml.
...
Рейтинг: 0 / 0
Парсер
    #38357313
VIT2708
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariy,

вообще то теги <br> есть я их здесь не приводил так как это не критично
...
Рейтинг: 0 / 0
Парсер
    #38357343
Фотография Нахлобуч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Возьми HtmlAgilityPack
...
Рейтинг: 0 / 0
Парсер
    #38357416
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VIT2708, с помощью регулярок можно:

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
string text = "<table>...</table>";
Regex re = new Regex(@"<td>\s*(?<FIO>[^>]*?)\s*</td>\s*<td>\s*(?<Phone>[^>]*?)\s*</td>\s*<td>\s*(?<INN>[^>]*?)\s*</td>\s*<td>\s*(?<Remark>[^>]*?)\s*</td>\s*</tr>\s*</table>", RegexOptions.Multiline);
Match m  = re.Match(text.Replace("<br>", ""));
if (m.Success)
{
	string fio = m.Groups["FIO"].Value;
	string phone = m.Groups["Phone"].Value);
	string inn = m.Groups["ШТТ"].Value;
	string remark = m.Groups["Remark"].Value;
}



Если кроме данных требуются имена колонок, то делаем так:
Код: c#
1.
2.
3.
4.
5.
6.
7.
Regex re = new Regex(@"<table>\s*<tr>(?:\s*<td>(?<HEAD>[^>]*?)</td>\s*)+</tr>\s*<tr>(?:\s*<td>(?<DATA>[^>]*?)</td>\s*)+</tr>\s*</table>", RegexOptions.Multiline);
Match m  = re.Match(text.Replace("<br>", ""));
if (m.Success)
{
	string[] head = match.Groups["HEAD"].Captures.Cast<Capture>().Select(c => c.Value.Trim()).ToArray();
	string[] data = match.Groups["DATA"].Captures.Cast<Capture>().Select(c => c.Value.Trim()).ToArray();
}
...
Рейтинг: 0 / 0
Парсер
    #38357436
Фотография Нахлобуч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bazile,


...
Рейтинг: 0 / 0
Парсер
    #38357448
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Парсер
    #38357565
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нахлобуч, побереги глаза :)

Оба регулярных выражения состоят из повторяющихся частей так что их несложно понять. При желании можно "дать подсказку" с помощью форматирования:
Код: c#
1.
2.
3.
4.
5.
6.
Regex re = new Regex(@"<td>\s*(?<FIO>[^>]*?)\s*</td>\s*"+
                     @"<td>\s*(?<Phone>[^>]*?)\s*</td>\s*"+
                     @"<td>\s*(?<INN>[^>]*?)\s*</td>\s*"+
                     @"<td>\s*(?<Remark>[^>]*?)\s*</td>\s*"+
                     @"</tr>\s*</table>"
                     , RegexOptions.Multiline);
...
Рейтинг: 0 / 0
Парсер
    #38357664
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Парсер
    #38357744
Фотография EDUARD SAPOTSKI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Фигней не майтесь, возьми HtmlAgilityPack там уже давно все украдено придумано до нас!
...
Рейтинг: 0 / 0
Парсер
    #38357771
Ermak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторЗа парсинг html/xml с помощью регвыров - убивать

ух как грозно и категорично.

Так уж сложилось, что для парсинга html использую RegExp'ы и особых проблем не испытываю.
HtmlAgilityPack смотрел, пробовал, но предпочтение отдаю RegExp, просто мне так удобнее.
...
Рейтинг: 0 / 0
Парсер
    #38357778
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ermakдля парсинга html использую RegExp'ы и особых проблем пока не испытываю
Поправил :)
...
Рейтинг: 0 / 0
Парсер
    #38357826
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сон Веры ПавловныЗа парсинг html/xml с помощью регвыров - убивать.
Категоричность сестра догматизма. Регулярные выражения это инструмент со своими плюсами и минусами. В общем случае я бы не стал применять регулярки для разбора html, но в данном конкретном случае считаю их применение оправданным из-за простой структуры документа. Если он усложнится - например, добавятся атрибуты у тегов - , то тогда следует переключиться на HtmlAgilityPack.

В заметке Jeff Atwood об этом тоже сказано:
http://www.codinghorror.com/blog/2009/11/parsing-html-the-cthulhu-way.html So, while I may attempt to parse HTML using regular expressions in certain situations , I go in knowing that:

- It's generally a bad idea.
- Unless you have discipline and put very strict conditions on what you're doing , matching HTML with regular expressions rapidly devolves into madness, just how Cthulhu likes it.
- I had what I thought to be good, rational, (semi) defensible reasons for choosing regular expressions in this specific scenario .

It's considered good form to demand that regular expressions be considered verboten, totally off limits for processing HTML, but I think that's just as wrongheaded as demanding every trivial HTML processing task be handled by a full-blown parsing engine. It's more important to understand the tools, and their strengths and weaknesses, than it is to knuckle under to knee-jerk dogmatism .
...
Рейтинг: 0 / 0
Парсер
    #38357852
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bazile, дело не только в структуре документа, а еще и в его содержимом.
...
Рейтинг: 0 / 0
Парсер
    #38357925
Ermak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУпроблем пока не испытываю
Поправил :)

Может быть и так.
Разработку парсеров заказывают часто, так что ждемс...

PS. Просто набил руку на работе с RegEx.
...
Рейтинг: 0 / 0
Парсер
    #38357946
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всегда парсил HTML через родной IHTMLDocument2 (mshtml.tlb, ieframe.dll). Работало как часы. HtmlAgilityPack щупал, но в реальных проектах решил не использовать.
...
Рейтинг: 0 / 0
Парсер
    #38358007
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bazileРегулярные выражения это инструмент со своими плюсами и минусами.
Не затруднит озвучить плюсы регулярок по сравнению с парсером в данном конкретном случае? Вариант неумения пользоваться парсером в отличие от регулярок не предлагать.

МСУВсегда парсил HTML через родной IHTMLDocument2 (mshtml.tlb, ieframe.dll). Работало как часы. HtmlAgilityPack щупал, но в реальных проектах решил не использовать.
Насколько я помню, он не умеет XPath.
...
Рейтинг: 0 / 0
Парсер
    #38358018
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сон Веры ПавловныbazileРегулярные выражения это инструмент со своими плюсами и минусами.
Не затруднит озвучить плюсы регулярок по сравнению с парсером в данном конкретном случае? Вариант неумения пользоваться парсером в отличие от регулярок не предлагать.Не надо тащить "левую" библиотеку в проект. Regex для простых случаев самое то.
...
Рейтинг: 0 / 0
Парсер
    #38358027
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КНе надо тащить "левую" библиотеку в проект. Regex для простых случаев самое то.
Это трудоемко? Затратно? Еще что-то? Установка того же HTML Agility Pack через NuGet - дело 10 секунд.
...
Рейтинг: 0 / 0
Парсер
    #38358036
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сон Веры ПавловныНасколько я помню, он не умеет XPath.И не должен уметь. Об абсолютно html-валидную конструкцию <i><b></i></b> xpath сломает зубы.

В html5 появился document.querySelector/querySelectorAll, не уступающий по мощности xpath. Селекторы jQuery это копипаста querySelector.
...
Рейтинг: 0 / 0
Парсер
    #38358040
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сон Веры ПавловныАлексей КНе надо тащить "левую" библиотеку в проект. Regex для простых случаев самое то.
Это трудоемко? Затратно? Еще что-то? Установка того же HTML Agility Pack через NuGet - дело 10 секунд.Если задача решается десятком строчек без "левой" библиотеки, зачем тащить в проект "левую" библиотеку?


Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
        string GetTagContent(string tagName, string content)
        {
            var beginTagPattern = string.Format(@"< \s* {0} .*? >", tagName);
            var endTagPattern = string.Format(@"</ \s* {0} \s* >", tagName);

            var pattern = string.Format(
                @"(?<={0}) .* (?={1})",
                beginTagPattern,
                endTagPattern
            );

            return Regex
                .Match(content, pattern, TagParseOptions)
                .Value;
        }
...
Рейтинг: 0 / 0
Парсер
    #38358049
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сон Веры ПавловныНасколько я помню, он не умеет XPath.
А должен уметь? Для этого курим ObjectXPathNavigator.
...
Рейтинг: 0 / 0
Парсер
    #38358053
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КНе надо тащить "левую" библиотеку в проект. Regex для простых случаев самое то.
Я тоже не люблю левые сборки. Так на то есть виндовой IHTMLDocument2 / IHTMLDocument3.
...
Рейтинг: 0 / 0
Парсер
    #38358156
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сон Веры ПавловныНе затруднит озвучить плюсы регулярок по сравнению с парсером в данном конкретном случае?
- простое решение для простой задачи используя только средства базовой библиотеки
- избегаем использовование внешней библиотеки
- нет необходимости тратить время на изучение новой библиотеки (для тех кто ранее не работал с HtmlAgilityPack)

При этом конечно помним про недостаток - риск превращения регулярки и кода в ктулху-стиль как это называет Атвуд. Как только появились признаки такого стиля следует переключиться на другие решения.
...
Рейтинг: 0 / 0
Парсер
    #38358257
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУТак на то есть виндовой IHTMLDocument2 / IHTMLDocument3.Не знал, но подозревал что должно быть. :-)
...
Рейтинг: 0 / 0
Парсер
    #38358323
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КМСУТак на то есть виндовой IHTMLDocument2 / IHTMLDocument3.Не знал, но подозревал что должно быть. :-)
Быстренько накидал рецептик, щупай :)

http://codearticles.ru/articles/2384
...
Рейтинг: 0 / 0
Парсер
    #38358331
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУАлексей Кпропущено...
Не знал, но подозревал что должно быть. :-)
Быстренько накидал рецептик, щупай :)

http://codearticles.ru/articles/2384 Пасиб. :-)
...
Рейтинг: 0 / 0
Парсер
    #38358338
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Одно удовольствие с IHTMLDocument3 работать, всё типизированно и понятно. Никаких говносборок с кодплексов.

Как городить огород (это еще простенький пример с двумя дивами с айдишником и стилем + табличка) на регулярках - я не знаю, это просто жесть неподдерживаемая какая-то :) За такое нужно банить и выжигать моск газовой горелкой.
...
Рейтинг: 0 / 0
Парсер
    #38358391
Фотография Нахлобуч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУОдно удовольствие с IHTMLDocument3 работать, всё типизированно и понятно. Никаких говносборок с кодплексов.

Упасть не встать.

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
using System;

using HtmlAgilityPack;

namespace HtmlParser
{
    class Program
    {
        static void Main(string[] args)
        {
            var html = @"<table>
<tr>
<td>
ФИО
</td>
<td>
ТЕЛЕФОН
</td>
<td>
Идентификационный код
</td>
<td>
Прочая инфа
</td>
</tr>

<tr>
<td>
Пупкин
</td>
<td>
06711111111
</td>
<td></td>
<td>
Примечание
</td>
</tr>
<tr><td>Пупкин</td><td>06711111111</td><td></td><td>Примечание</td></tr>
</table>";

            var htmlDocument = new HtmlDocument();
            htmlDocument.LoadHtml(html);

            foreach(var tr in htmlDocument.DocumentNode.SelectNodes("/table/tr[position() > 1 and count(td) = 4]"))
            {
                Console.WriteLine("ФИО: {0}", tr.SelectSingleNode("./td[1]").InnerText);
                Console.WriteLine("Телефон: {0}", tr.SelectSingleNode("./td[2]").InnerText);
                Console.WriteLine("Идентификационный код: {0}", tr.SelectSingleNode("./td[3]").InnerText);
                Console.WriteLine("Прочая инфа: {0}", tr.SelectSingleNode("./td[4]").InnerText);
            }
        }
    }
}
...
Рейтинг: 0 / 0
Парсер
    #38358506
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НахлобучУпасть не встать.
Падай и не вставай.

Microsoft.mshtml это полноценная объектная модель. Её ты можешь так же обвязать в хелпер с удобными методами. Основной плюс в том, что не нужны никакие сторонние педали. Функционал HtmlDocument красив, никто с этим не спорит, строки кода тут никто не считает. Но зачем он мне, если я те же задачи решу с помощью нативного функционала?
...
Рейтинг: 0 / 0
Парсер
    #38358687
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУНо зачем он мне, если я те же задачи решу с помощью нативного функционала?
И самое главное это то, что Microsoft.mshtml богаче и гибче, чем конструкции на xpath ! Самая сложная логика разбора html по зубам.
...
Рейтинг: 0 / 0
Парсер
    #38358777
Фотография Нахлобуч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУМСУНо зачем он мне, если я те же задачи решу с помощью нативного функционала?
И самое главное это то, что Microsoft.mshtml богаче и гибче, чем конструкции на xpath ! Самая сложная логика разбора html по зубам.Во-первых, это не "нативный функционал", а банальная обертка над COM-компонентом со всеми вытекающими "удобными" IHTMLDocument7 и столь же удобным деплоем.
Во-вторых, список критериев, по которым оценивается "богатость и гибкость", пожалуйста.
...
Рейтинг: 0 / 0
Парсер
    #38358838
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУАлексей Кпропущено...
Не знал, но подозревал что должно быть. :-)
Быстренько накидал рецептик, щупай :)

http://codearticles.ru/articles/2384
За такой говнокод нужно тыкать носом в эту кучу, чтобы впредь неповадно было:
-большая навозная куча почти на станицу
-масса тормознутых foreach
-hardcode с индексам
-на закуску-типичная лузерская ошибка с добавлением в список, которая сразу говорит о школярских знаниях net и как это садит производительность
-кусок говнокода, который даже не оформлен в виде функции

Зы для таких остолопов внешние библиотеки - то, что доктор прописал.их, по крайнеймере пишут нечайники
...
Рейтинг: 0 / 0
Парсер
    #38359002
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SeVaМСУпропущено...

Быстренько накидал рецептик, щупай :)

http://codearticles.ru/articles/2384
За такой говнокод нужно тыкать носом в эту кучу, чтобы впредь неповадно было:
-большая навозная куча почти на станицу
-масса тормознутых foreach
-hardcode с индексам
-на закуску-типичная лузерская ошибка с добавлением в список, которая сразу говорит о школярских знаниях net и как это садит производительность
-кусок говнокода, который даже не оформлен в виде функции

Зы для таких остолопов внешние библиотеки - то, что доктор прописал.их, по крайнеймере пишут нечайникиНасчет тормознутости foreach сомневаюсь, с индексами не согласен (в этой задаче в любом случае придется что-то захардкодить, не индексы, так селекторы) но вот это просто убило:
Код: c#
1.
2.
3.
4.
IHTMLElementCollection tableRows = tableElement.all;
  foreach (IHTMLElement row in tableRows)
    {
       if (row is HTMLTableRow)

Двойка за такой код была бы высочайшей похвалой. all сам по себе вызывает легкий нервный тик, но так как этот код не покинет песочницы ie, в принципе можно забить. Однако тут муся умудрился блеснуть незнанием объектной модели, которую сам же воспевает. html-таблица обладает свойством rows, которое содержит коллекцию из HTMLTableRow, исключающую необходимость в последнем говноусловии. Так же для справки: HTMLTableRow.cols содержит коллекцию догадайтесь чего.

Весь этот чудовищный бред с кучей циклов можно сократить до одного, заменив тернистый путь до строк одним выражением:
Код: c#
1.
tableRows = document.querySelectorAll("#main .data tr");

Не знаю как в IE, но в Опере
.querySelectorAll("div") и .querySelectorAll(".my") работает примерно вдвое быстрее, чем .getElementsByTagName("div") и .getElementsByClassName("my") соответственно.Селекторы работают с восьмой версии IE, то есть уже 5 лет. Стыдоба.

Отдельно умиляет говноссылка на data.html, которая есть у всех, но работает, по всей видимости, только у зарегистрированных анальных рабов муси, ибо перекидывает на форму логина.
...
Рейтинг: 0 / 0
Парсер
    #38359006
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Про табличку забыл:
Код: c#
1.
tableRows = document.querySelectorAll("#main .data table tbody tr");
...
Рейтинг: 0 / 0
Парсер
    #38359104
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НахлобучВо-первых, это не "нативный функционал", а банальная обертка над COM-компонентом со всеми вытекающими "удобными" IHTMLDocument7 и столь же удобным деплоем.
Во-вторых, список критериев, по которым оценивается "богатость и гибкость", пожалуйста.
Во-первых, это нативный функционал и он есть уже в винде Microsoft.mshtml.dll , никаких левых dll не нужно. Тот факт, что это com обертка, не значит ничего плохого. Про "вытекающие" поподробней, пожалуйста.
Во-вторых, "богатость и гибкость" выражается в процедурности подхода и его типизации, а не банальных ошметках xml, порожденных из кривого тупого xpath запроса.
...
Рейтинг: 0 / 0
Парсер
    #38359112
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SeVaМСУпропущено...

Быстренько накидал рецептик, щупай :)

http://codearticles.ru/articles/2384
За такой говнокод нужно тыкать носом в эту кучу, чтобы впредь неповадно было:
-большая навозная куча почти на станицу
-масса тормознутых foreach
-hardcode с индексам
-на закуску-типичная лузерская ошибка с добавлением в список, которая сразу говорит о школярских знаниях net и как это садит производительность
-кусок говнокода, который даже не оформлен в виде функции

Зы для таких остолопов внешние библиотеки - то, что доктор прописал.их, по крайнеймере пишут нечайники
За твою тупость тебя давно уже надо подвесить ногами вверх у московского зоопарка, чучело.
- обычный типизированный подход с циклами и поиском нужных элементов, нет задачи сокращать его или как-то ужимать
- насчет тормознутости foreach пойди бабушке своей сказки расскажи, поиск через getElementById с последующим перебором по className - это самое быстрое получение нужных html элементов, которое только видовал свет, по такому же принципу работают и селекторы в jquery
- у Нахлобуча тоже хардкод с индексами и что? Тут обсуждаются приемы работы с html, бестолочь.
- смотри выше, тут речь не о добавлении элементов куда-то, а обсуждается подход работы с html. У тебя всегда мозг через заднее место работал, вследствие чего ты затруднялся сосредоточиться на конечных деталях. Банальный диагноз параноика.
- какая в задницу функция, ты о чем? Убей себя
...
Рейтинг: 0 / 0
Парсер
    #38359121
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariy, вопрос не в оптимизации парсинга таблички, а в демонстрации полного перебора типизированных элементов. Если и ты этого не понимаешь, то сходи в сад со всеми остальными. Вброс про querySelectorAll ты так и не довел до конца: полностью рабочий код в студию. А то нагадил, а за собой не убрал - типично и в твоем стиле. Позорище. Говноссылку на data.html обходи стороной, ты не достоин её качать.
...
Рейтинг: 0 / 0
Парсер
    #38359153
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyСон Веры ПавловныНасколько я помню, он не умеет XPath.И не должен уметь. Об абсолютно html-валидную конструкцию <i><b></i></b> xpath сломает зубы.
Мда. Вы думаете, что XPath разбирает текстовые строки? XPath разбирает DOM-документ, в который парсится в том числе и html - даже если его разметка была сделана в лучших html-ных традициях с незакрытыми тэгами. Зубы XPath'у там ломать абсолютно не об что.
AntonariyВ html5 появился document.querySelector/querySelectorAll, не уступающий по мощности xpath. Селекторы jQuery это копипаста querySelector.
Очень сильно уступающий, т.к. основан на синтаксисе CSS-селекторов, который весьма слаб. Попробуйте с его помощью выбрать из 3-й таблицы документа все rows, которые содержат только пустые ячейки (без вложенных элементов). С помощью XPath это вполне возможно.
МСУа не банальных ошметках xml, порожденных из кривого тупого xpath запроса.
МСУ в своем репертуаре - то, что он не любит/не умеет готовить, обильно снабжает яркими эмоциональными эпитетами. Это, конечно же, придает аргументации взвешенность и обоснованность.
...
Рейтинг: 0 / 0
Парсер
    #38359205
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сон Веры ПавловныМСУа не банальных ошметках xml, порожденных из кривого тупого xpath запроса.
МСУ в своем репертуаре - то, что он не любит/не умеет готовить, обильно снабжает яркими эмоциональными эпитетами. Это, конечно же, придает аргументации взвешенность и обоснованность.
Полно тебе :) Я не против xpath, я против сторонних приблуд с кодплекса от пионеров, когда есть в штатном распоряжении более вкусные вещи, такие как IHTMLDocument3. Полностью типизированные html элементы должны больше радовать, чем пугать.
...
Рейтинг: 0 / 0
Парсер
    #38359210
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ведь IHTMLDocument3 помимо чтения, позволяет еще создавать элементы. То есть представляет собой самый полный функционал при работе с html. Так нахрена мне качать какие-то гусли с интернетов?
...
Рейтинг: 0 / 0
Парсер
    #38359224
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУAntonariy, вопрос не в оптимизации парсинга таблички, а в демонстрации полного перебора типизированных элементов. Если и ты этого не понимаешь, то сходи в сад со всеми остальными. Вброс про querySelectorAll ты так и не довел до конца: полностью рабочий код в студию. А то нагадил, а за собой не убрал - типично и в твоем стиле. Позорище. Говноссылку на data.html обходи стороной, ты не достоин её качать.Обосрался — обтекай, быдло
...
Рейтинг: 0 / 0
Парсер
    #38359267
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сон Веры ПавловныAntonariyВ html5 появился document.querySelector/querySelectorAll, не уступающий по мощности xpath. Селекторы jQuery это копипаста querySelector.
Очень сильно уступающий, т.к. основан на синтаксисе CSS-селекторов, который весьма слаб. Попробуйте с его помощью выбрать из 3-й таблицы документа все rows, которые содержат только пустые ячейки (без вложенных элементов).Ну ок, уступает. Но с другой стороны необходимость в таких хитромудрых условиях встречается крайне редко и как правило символизирует неправильную постановку задачи или решение в духе муси: "оно должно показать, как правильно писать лютейший говнокод и в жопу оптимизацию".
...
Рейтинг: 0 / 0
Парсер
    #38359296
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyМСУAntonariy, вопрос не в оптимизации парсинга таблички, а в демонстрации полного перебора типизированных элементов. Если и ты этого не понимаешь, то сходи в сад со всеми остальными. Вброс про querySelectorAll ты так и не довел до конца: полностью рабочий код в студию. А то нагадил, а за собой не убрал - типично и в твоем стиле. Позорище. Говноссылку на data.html обходи стороной, ты не достоин её качать.Обосрался — обтекай, быдло
Муслима, я твой говнокод только мельком смлтрел(уж слишком смердит ), но antonairy тебя правильно носом ткнул в all&if.только полный урод будет развешивать подобную клюкву вместо одного linq запроса с нужными условиями выборки.

2antoniary, foreach при прочих равных условиях медленней for из-за двух дополнительных локальных переменных, плюс перечечслитель гораздо медленней индексного доступа, который оптимизирует il

2тс, сделай нужный xmlreader в пару строчек и закрывай этот говнотопик
...
Рейтинг: 0 / 0
Парсер
    #38359301
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyМСУAntonariy, вопрос не в оптимизации парсинга таблички, а в демонстрации полного перебора типизированных элементов. Если и ты этого не понимаешь, то сходи в сад со всеми остальными. Вброс про querySelectorAll ты так и не довел до конца: полностью рабочий код в студию. А то нагадил, а за собой не убрал - типично и в твоем стиле. Позорище. Говноссылку на data.html обходи стороной, ты не достоин её качать.Обосрался — обтекай, быдло
Код будет, утырок? Или снова сливаешься в унитаз?
...
Рейтинг: 0 / 0
Парсер
    #38359305
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SeVa2тс, сделай нужный xmlreader в пару строчек и закрывай этот говнотопикxmlreader не прокатит, у ТСа код не xml-валидный.
...
Рейтинг: 0 / 0
Парсер
    #38359311
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КМСУпропущено...

Быстренько накидал рецептик, щупай :)

http://codearticles.ru/articles/2384 Пасиб. :-)
После таких спасиб я с опаской буду садится в поезд.если программасты такие, то почемудругие должны быть лучше.ладно regionmanager-тема для таких нкподъемная, но ui, который зависит от wcf и подобный маразм-это уже чере край

Алексей, бери мсу за ручку, да на курсы
...
Рейтинг: 0 / 0
Парсер
    #38359312
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Долбосева, опять ты обращался по самые помидоры. Линкю запрос тут вообще мимо кассы. Букварь в зубы и срочно читать про селекторы, бестолочь
Циклы тут в самый раз, ибо селектор точно так же раскладывается в цикл по всему дом элементу с поиском по фильтру.
...
Рейтинг: 0 / 0
Парсер
    #38359314
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУAntonariyпропущено...
Обосрался — обтекай, быдло
Код будет, утырок? Или снова сливаешься в унитаз?Мне с тобой не по пути

Той строчки, что я уже написал, вменяемому человеку достаточно, а ты высри еще кирпич и обтекай дальше.
...
Рейтинг: 0 / 0
Парсер
    #38359316
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Про XmlReader вообще абасаца. Долбосева, ты признак тупости и шизофрении
...
Рейтинг: 0 / 0
Парсер
    #38359325
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyМСУпропущено...

Код будет, утырок? Или снова сливаешься в унитаз?Мне с тобой не по пути

Той строчки, что я уже написал, вменяемому человеку достаточно, а ты высри еще кирпич и обтекай дальше.

Унылый отмаз нашкодившего школьника. То есть ты не в состоянии аргументировать свой высер. Собственно, я и не сомневался. Такое чепушило как ты не способно выдавать валидный код

P.S. Для кретинов сообщаю, никакими селекторами тут и не пахнет, бестолочь. Это дом от нативного Microsoft.mshtml. Учи матчасть и не засоряй топик своими тупыми сообщениями.
...
Рейтинг: 0 / 0
Парсер
    #38359330
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariySeVa2тс, сделай нужный xmlreader в пару строчек и закрывай этот говнотопикxmlreader не прокатит, у ТСа код не xml-валидный.
Он нужен именно100%, когда невалидный.сейчас ссылку не дам(давно это было), на msdn был пример кастомного xmlreader'a для ini-файла, который и близко не стоял рядом с xml, а для этого варианта будет пару строок
...
Рейтинг: 0 / 0
Парсер
    #38359341
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Долбак снова жжет мембершипом. Какой в зад ini файл, чудовище? Ты, вообще, понимаешь о чем тут речь идет?
...
Рейтинг: 0 / 0
Парсер
    #38359348
Фотография Нахлобуч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУникаких левых dll не нужно. Тот факт, что это com обертка, не значит ничего плохого. Про "вытекающие" поподробней, пожалуйста.К твоему сведению: Microsoft.mshtml.dll - это Primary Interop Assembly, распространять которую тебе не позволит лицензия. Так что у тебя выбор -- либо полагаться на то, что на машине клиента таки будет эта сборка и будет имеено нужной тебе версии, либо генерировать обертку самостоятельно с помощью tlbimp.exe и снова иметь возможность поиметь проблем с расхождением версий у тебя и у клиента. Или играться с Embed Interop Types и Specific Version. Это про удобство развертывания.
МСУВо-вторых, "богатость и гибкость" выражается в процедурности подхода и его типизации, а не банальных ошметках xml, порожденных из кривого тупого xpath запроса.Я тебя просил критерии, по которым ты оцениваешь богатство и гибкость, а ты опять в сторону увиливаешь. HtmlAgilityPack позволяет точно так же, процедурно, обходить все дерево и выбирать узлы, но с XPath-выражением получается в короче и выразительнее. А выкрик про "банальные ошметки XML"... Чего этим сказать-то хотел?
...
Рейтинг: 0 / 0
Парсер
    #38359356
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нахлобучлибо генерировать обертку самостоятельно с помощью tlbimp.exe и снова иметь возможность поиметь проблем с расхождением версий у тебя и у клиента.
Кстати, да, с весриями возможны косяки - я когда-то давно зачем-то подключал к проекту mshtml, и, видимо, обертка осела в GAC, и с тех пор не обновлялась, несмотря на то, что сменились 3 версии IE (сейчас установлен 10-й) - в обертке не было интерфейсов IDocumentSelector/IElementSelector, как раз предоставляющих методы querySelector/querySelectorAll. Помогла перегенерация обертки с пом. tlbimp.
...
Рейтинг: 0 / 0
Парсер
    #38359364
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VIT2708, вот код конкретно под твою задачу:

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
var doc = new HTMLDocument() as IHTMLDocument2;
doc.write(html);

foreach (IHTMLElement table in doc.all.OfType<HTMLTable>())
{
    foreach (IHTMLElement tableElement in table.all)
    {
        if (tableElement is HTMLTableSection)
        {
            foreach (IHTMLElement row in tableElement.all)
            {
                if (row is HTMLTableRow)
                {
                    foreach (var item in row.all)
                    {
                        string value = item.innerText ?? string.Empty;
                        Console.Write(value.Trim() + ";");
                    }

                    Console.WriteLine();
                }
            }
        }
    }
}
...
Рейтинг: 0 / 0
Парсер
    #38359372
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУДолбак снова жжет мембершипом. Какой в зад ini файл, чудовище? Ты, вообще, понимаешь о чем тут речь идет?
Тупое животное, сходи на курсы, объяснять азы такому придурку-пустая трата времени.тебе даже вагоны чистить еще рано
...
Рейтинг: 0 / 0
Парсер
    #38359381
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НахлобучК твоему сведению: Microsoft.mshtml.dll - это Primary Interop Assembly, распространять которую тебе не позволит лицензия. Так что у тебя выбор -- либо полагаться на то, что на машине клиента таки будет эта сборка и будет имеено нужной тебе версии, либо генерировать обертку самостоятельно с помощью tlbimp.exe и снова иметь возможность поиметь проблем с расхождением версий у тебя и у клиента. Или играться с Embed Interop Types и Specific Version. Это про удобство развертывания.
В том-то и дело, что мне её не нужно распространять, она есть в любой винде. И собирается проект с CopyLocal = False. Так что все опасения твои по поводу того, что этой сборки не окажется - напрасны. Никаких проблем с развертыванием не было, не нужно тут пугать людей и наводить страх.

НахлобучМСУВо-вторых, "богатость и гибкость" выражается в процедурности подхода и его типизации, а не банальных ошметках xml, порожденных из кривого тупого xpath запроса.Я тебя просил критерии, по которым ты оцениваешь богатство и гибкость, а ты опять в сторону увиливаешь. HtmlAgilityPack позволяет точно так же, процедурно, обходить все дерево и выбирать узлы, но с XPath-выражением получается в короче и выразительнее. А выкрик про "банальные ошметки XML"... Чего этим сказать-то хотел?
Я тебе эти критерии озвучил, читай внимательнее. Процедурность подхода мощнее xpath запросов и типизация дом элементов таки. Никаких увиливаний, просто пытайся понять, что тебе пишут.
...
Рейтинг: 0 / 0
Парсер
    #38359390
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SeVaМСУДолбак снова жжет мембершипом. Какой в зад ini файл, чудовище? Ты, вообще, понимаешь о чем тут речь идет?
Тупое животное, сходи на курсы, объяснять азы такому придурку-пустая трата времени.тебе даже вагоны чистить еще рано
Ты в очередной раз блеснул своей тупостью, обезьяна html-льная Прячься в зоопарке и не пугай форум.
...
Рейтинг: 0 / 0
Парсер
    #38359398
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сон Веры ПавловныКстати, да, с весриями возможны косяки - я когда-то давно зачем-то подключал к проекту mshtml, и, видимо, обертка осела в GAC, и с тех пор не обновлялась, несмотря на то, что сменились 3 версии IE (сейчас установлен 10-й) - в обертке не было интерфейсов IDocumentSelector/IElementSelector, как раз предоставляющих методы querySelector/querySelectorAll. Помогла перегенерация обертки с пом. tlbimp.
Если оперировать классическими IHTMLElement, IHTMLDivElement, HTMLTableSection и т.п., то этого функционала хватит за глаза, т.к. он присутствует даже в самых ранних реализациях.
...
Рейтинг: 0 / 0
Парсер
    #38359412
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУСон Веры ПавловныКстати, да, с весриями возможны косяки - я когда-то давно зачем-то подключал к проекту mshtml, и, видимо, обертка осела в GAC, и с тех пор не обновлялась, несмотря на то, что сменились 3 версии IE (сейчас установлен 10-й) - в обертке не было интерфейсов IDocumentSelector/IElementSelector, как раз предоставляющих методы querySelector/querySelectorAll. Помогла перегенерация обертки с пом. tlbimp.
Если оперировать классическими IHTMLElement, IHTMLDivElement, HTMLTableSection и т.п., то этого функционала хватит за глаза, т.к. он присутствует даже в самых ранних реализациях.
А-во вторых, зачем тебе лишний референс на Mshtml.dll. Если код будет выполняться на Windows XP без SP, то получишь ошибку. А вообще странно, для серверных осей, начиная с 2003 сервера, эта библиотека в наличии и IDocumentSelector тоже. Так что какие-то сказки получаются.
...
Рейтинг: 0 / 0
Парсер
    #38359537
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SeVaАлексей Кпропущено...
Пасиб. :-)
После таких спасиб я с опаской буду садится в поезд.если программасты такие, то почемудругие должны быть лучше.ладно regionmanager-тема для таких нкподъемная, но ui, который зависит от wcf и подобный маразм-это уже чере край

Алексей, бери мсу за ручку, да на курсыSeVa, я перестаю тебя понимать. Какой UI? Причём тут WCF? Ведь речь идёт про "сферический парсинг HTML в вакууме".

МСУ дал нормальный пример, из которого понятно как прицепить и использовать библиотеку. А претензии вроде "не использовал LINQ - значит ламер", это из разряда "свинья везде грязь найдёт". Подумай об этом.
...
Рейтинг: 0 / 0
Парсер
    #38359587
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КSeVaпропущено...

После таких спасиб я с опаской буду садится в поезд.если программасты такие, то почемудругие должны быть лучше.ладно regionmanager-тема для таких нкподъемная, но ui, который зависит от wcf и подобный маразм-это уже чере край

Алексей, бери мсу за ручку, да на курсыSeVa, я перестаю тебя понимать. Какой UI? Причём тут WCF? Ведь речь идёт про "сферический парсинг HTML в вакууме".

МСУ дал нормальный пример, из которого понятно как прицепить и использовать библиотеку. А претензии вроде "не использовал LINQ - значит ламер", это из разряда "свинья везде грязь найдёт". Подумай об этом.
Вот ты и нашел мсу.немудрено, что тебе тоже нужно объяснять почему у мсу один сплошной говнокод. Тебе точно подумать об этом стоит
...
Рейтинг: 0 / 0
Парсер
    #38359598
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Долбосева, задумайся о своём смысле существования на этом форуме. Ты обычная пустоголовая балаболка с выхлопом КПД в 0%. От тебя нет и не было толку.
...
Рейтинг: 0 / 0
Парсер
    #38359803
Фотография EDUARD SAPOTSKI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КSeVa... Подумай об этом.
Ему нечем...
...
Рейтинг: 0 / 0
Парсер
    #38359807
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ты когда нам пенки свои покажешь, как html с помощью XmlReader парсишь, чучело?
...
Рейтинг: 0 / 0
Парсер
    #38359817
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EDUARD SAPOTSKIАлексей КSeVa... Подумай об этом.
Ему нечем... Ну хочется верить в людей. Раньше он таким не был. :-)
...
Рейтинг: 0 / 0
Парсер
    #38359819
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КРаньше он таким не был. :-)
Да он всегда таким был, просто ты не присматривался. А сейчас вообще превратился в чмошника, которого не пинает даже ленивый.
...
Рейтинг: 0 / 0
Парсер
    #38359840
Фотография EDUARD SAPOTSKI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SeVa-на закуску-типичная лузерская ошибка с добавлением в список, которая сразу говорит о школярских знаниях net и как это садит производительность
Енто пита вот это говнокодерство: list.Add(new { Num = num, Text = text, Guid = guid });
Просветите меня неразумного с каких это пор и почему, и как сделать правильно?
...
Рейтинг: 0 / 0
Парсер
    #38359904
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Эдик, твои вопросы его сейчас отключат от реального мира и он опять начнет бредить. Он еще xml ридером не закончил парсить html через linq, а ты ему про dynamic. Не шевели ногой гумно, максимум только веточкой потрогай.
...
Рейтинг: 0 / 0
Парсер
    #38359914
Фотография EDUARD SAPOTSKI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУОн еще xml ридером не закончил парсить html через linq...
Хочу на это посмотреть чесслово...
...
Рейтинг: 0 / 0
Парсер
    #38359932
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EDUARD SAPOTSKIМСУОн еще xml ридером не закончил парсить html через linq...
Хочу на это посмотреть чесслово...
Это еще раньше как-то забавляло, а теперь без слез на его гонево не взглянешь. Один отжиг про то, что Role Management API зло, намекает на то, что он полный кретин. Уж молчу про то, что IPrincipal рулит, а Membership гавно Это полный мрак, по нему уже целый букварь жести можно писать, всего не упомнишь.
...
Рейтинг: 0 / 0
Парсер
    #38359964
Фотография Нахлобуч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУMembership гавноВот скажи мне, мил человек. Есть у тебя средних размеров приложение. Несколько сотен пользователей, пара десятков ролей, контролирующих различные аспекты. К примеру, есть роль "Менеджер", которая позволяет человеку строить отчеты, удалять уже сгенерированные отчеты, добавлять пользователей в систему и еще чего-нибудь.

Внимание, вопрос: как с использованием Мембершипа отобрать у всех "Менеджеров" возможность удалять отчеты, но оставить все остальные полномочия в силе?
...
Рейтинг: 0 / 0
Парсер
    #38359986
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НахлобучВнимание, вопрос: как с использованием Мембершипа отобрать у всех "Менеджеров" возможность удалять отчеты, но оставить все остальные полномочия в силе?
Вводится новая роль "Лайт менеджер" и прибивается к ней озвученная логика. У пользователей, кототорым запрещено удалять отчеты, я отбираю роль "Менеджер" и даю "Лайт менеджер". Причем, всё это делается в одном месте - в реализации SecurityService, само приложение через IoC общается с этим сервисом через ISecurityService. Вся логика остается в силе, приложение работает как работало.
...
Рейтинг: 0 / 0
Парсер
    #38360001
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: c#
1.
2.
3.
4.
5.
6.
7.
public interface ISecurityService
{
    CurrentUser User { get; }

    // ...
    bool CanReportRemove(Report report);
}



В одном месте реализации метода CanReportRemove своего SecurityService я описываю требуемую логику в соответствии с новыми правилами.

P.S. Мил человек, я не выступаю противником новой абстракции (Rule). Тем более я сам когда-то в администраторе писал такую логику поверх мембершипа. Я просто тебе говорю, что в 99% случаях хватает обычных ролей. Если у тебя приложение-конструктор, поставленное на поток, возможно было бы неплохо реализовать возможность управления действиями (правилами) через крыжики UI.
...
Рейтинг: 0 / 0
Парсер
    #38360004
Фотография Нахлобуч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУВводится новая роль "Лайт менеджер" и прибивается к ней озвученная логика. У пользователей, кототорым запрещено удалять отчеты, я отбираю роль "Менеджер" и даю "Лайт менеджер". Причем, всё это делается в одном месте - в реализации SecurityService, само приложение через IoC общается с этим сервисом через ISecurityService. Вся логика остается в силе, приложение работает как работало.
То есть такая тривиальная вещь, как изменение набора прав у группы лиц, у тебя выливается в изменение кода ?

...
Рейтинг: 0 / 0
Парсер
    #38360013
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НахлобучТо есть такая тривиальная вещь, как изменение набора прав у группы лиц, у тебя выливается в изменение кода ?
Да. И я не вижу в этом катастрофы, т.к. такие административные изменения происходят крайне редко. Безопасность с возможными действиями описана и задокументирована изначально. При необходимости можно без проблем изменить.
...
Рейтинг: 0 / 0
Парсер
    #38360055
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ,

менять код - последнее дело :) за это надо расстреливать
...
Рейтинг: 0 / 0
Парсер
    #38360059
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosМСУ, менять код - последнее дело :) за это надо расстреливать
В системах конструкторах типа твоего випроса - бесспорно. Для обычных "кастомных систем под ключ" менять код - обычное дело. Смотри на мир шире, бизнес дышит не только твоей убогой небезопасной 2-tier поделкой :)
...
Рейтинг: 0 / 0
Парсер
    #38360279
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУНахлобучТо есть такая тривиальная вещь, как изменение набора прав у группы лиц, у тебя выливается в изменение кода ?
Да. И я не вижу в этом катастрофы, т.к. такие административные изменения происходят крайне редко. Безопасность с возможными действиями описана и задокументирована изначально. При необходимости можно без проблем изменить.
Муфлон, твои роли могут быть четко прописаны и пригодны только для порносайтов(супер-админтупаячурка-мсу и проститутки).помимо удаления есть еще изменения,согласование, подписание, просмотр и тд.сотни объектов да на десяток левых ролей-большая навозная куча.иди лечись, урод
...
Рейтинг: 0 / 0
Парсер
    #38360405
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SeVaМуфлон, твои роли могут быть четко прописаны и пригодны только для порносайтов(супер-админтупаячурка-мсу и проститутки).помимо удаления есть еще изменения,согласование, подписание, просмотр и тд.сотни объектов да на десяток левых ролей-большая навозная куча.иди лечись, урод
Долбосева, порносайты у тебя в голове и никак иначе. Ты ими бредишь, тупое чудовище.
А по поводу ролевых политик: каждая роль наделена n действиями в программе, поэтому никаких проблем с "изменением, согласованием, подписанием, просмотром и тд." нету. Мы долго будем от тебя ждать новую порцию жести по разбору html через XmlReader и Linq?
...
Рейтинг: 0 / 0
Парсер
    #38360428
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SeVaИзопропилпропущено...

ну паровозы ходили и до появления микропроцессоров,
а вот что дать тем, кто тяжелее мышки ничего в руках не держал - не знаю

Одна надежда, что говнокодеров к паровозам еще не подпустилиПаровозов в эксплуатации осталось мало. Ты бы лучше за электровозы, тепловозы и моторвагонный подвижной состав беспокоился.
...
Рейтинг: 0 / 0
Парсер
    #38360438
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Кмоторвагонный подвижной состав беспокоился.
Слова-то какие страшные
...
Рейтинг: 0 / 0
Парсер
    #38360455
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУАлексей Кмоторвагонный подвижной состав беспокоился.
Слова-то какие страшные В простонародье - электричка.
...
Рейтинг: 0 / 0
Парсер
    #38360466
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КМСУпропущено...

Слова-то какие страшные В простонародье - электричка.
а дрезину куда девать?
...
Рейтинг: 0 / 0
Парсер
    #38360504
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообщем, это всё теория. Объясните мне, почему Сева превратился в такое убогое неуправляемое чмо с отсутствием головы на плечах?
...
Рейтинг: 0 / 0
Парсер
    #38360510
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ,

много читает
о че он тебя критиковал на счет форич? чем заменить надо?
...
Рейтинг: 0 / 0
Парсер
    #38360511
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а то у меня много форич
...
Рейтинг: 0 / 0
Парсер
    #38360515
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сахават, ну так и задай ему этот вопрос. А мы пока за попкорном сходим
...
Рейтинг: 0 / 0
Парсер
    #38360517
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ,

ну задал ж
...
Рейтинг: 0 / 0
Парсер
    #38360524
Фотография EDUARD SAPOTSKI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В очередь! Пусть сначала расскажет как объекты в колекцию добавлять, а то я ваще в прострации и не знаю как дальше жить...
...
Рейтинг: 0 / 0
Парсер
    #38360530
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИзопропилАлексей Кпропущено...
В простонародье - электричка.
а дрезину куда девать?Мне кажется, этот вопрос достоен отдельного топика. :-)
...
Рейтинг: 0 / 0
Парсер
    #38360552
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУSeVaМуфлон, твои роли могут быть четко прописаны и пригодны только для порносайтов(супер-админтупаячурка-мсу и проститутки).помимо удаления есть еще изменения,согласование, подписание, просмотр и тд.сотни объектов да на десяток левых ролей-большая навозная куча.иди лечись, урод
Долбосева, порносайты у тебя в голове и никак иначе. Ты ими бредишь, тупое чудовище.
А по поводу ролевых политик: каждая роль наделена n действиями в программе, поэтому никаких проблем с "изменением, согласованием, подписанием, просмотром и тд." нету. Мы долго будем от тебя ждать новую порцию жести по разбору html через XmlReader и Linq?
Тупое животное, речь шла об исключениях и твоем очередном говносервисе(одно название canproductdelete заслуживает заслуживает медаль "почетный чмошник"), которых нужно будет наплодить большую навозную кучу вместо одного с одним единственным методом HasPermission, если права раздавать на определенное действие, а не по убогим ролям.
Чувствуешь разницу, чмо, между одним и сотнейлевых, мусорных классов, которые нужны только потому, что одна обезьяна научилась стучать по клавишам?
...
Рейтинг: 0 / 0
Парсер
    #38360565
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SeVaТупое животное, речь шла об исключениях и твоем очередном говносервисе
Кретинообразное чудовище, о каких исключениях шла речь? XmlReader и Linq - это исключения? Теперь буду знать, что если долбосева пишет про Linq, значит он имеет ввиду исключения

SeVaодно название canproductdelete заслуживает заслуживает медаль "почетный чмошник"), которых нужно будет наплодить большую навозную кучу вместо одного с одним единственным методом HasPermission, если права раздавать на определенное действие, а не по убогим ролям.
Очередной зверский потуг тупой кухарки, которая более 10 формочек на сильверлайте не писала - в штатной role based security нет понятия permission, тупица.

SeVaЧувствуешь разницу, чмо, между одним и сотнейлевых, мусорных классов, которые нужны только потому, что одна обезьяна научилась стучать по клавишам?
Глупое феерическое уебище, откуда тут взялась сотня левых классов? Тут один интерфейс, который полностью описывает возможности программы и реализация этого интерфейса. Ко всему прочему, всё это работает на штатном провайдере ролей без единой строчки кода.
...
Рейтинг: 0 / 0
Парсер
    #38360566
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SeVaHasPermission
реализация HasPermission как выглядит?
...
Рейтинг: 0 / 0
Парсер
    #38360584
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EDUARD SAPOTSKIВ очередь! Пусть сначала расскажет как объекты в колекцию добавлять, а то я ваще в прострации и не знаю как дальше жить...
Сапотски, попросите свенома сделать курсы по с# для полных лохов.пусть он вам за бабки обьясняет, что происходит при добавлении в список, и что нужно делать, чтобы этого не происходило.сам ты это не осилишь.
...
Рейтинг: 0 / 0
Парсер
    #38360586
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SeVaА в твоей системе безопасности есть дерево ролей?
...
Рейтинг: 0 / 0
Парсер
    #38360601
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУSeVaТупое животное, речь шла об исключениях и твоем очередном говносервисе
Кретинообразное чудовище, о каких исключениях шла речь? XmlReader и Linq - это исключения? Теперь буду знать, что если долбосева пишет про Linq, значит он имеет ввиду исключения

SeVaодно название canproductdelete заслуживает заслуживает медаль "почетный чмошник"), которых нужно будет наплодить большую навозную кучу вместо одного с одним единственным методом HasPermission, если права раздавать на определенное действие, а не по убогим ролям.
Очередной зверский потуг тупой кухарки, которая более 10 формочек на сильверлайте не писала - в штатной role based security нет понятия permission, тупица.

SeVaЧувствуешь разницу, чмо, между одним и сотнейлевых, мусорных классов, которые нужны только потому, что одна обезьяна научилась стучать по клавишам?
Глупое феерическое уебище, откуда тут взялась сотня левых классов? Тут один интерфейс, который полностью описывает возможности программы и реализация этого интерфейса. Ко всему прочему, всё это работает на штатном провайдере ролей без единой строчки кода.
Твоя тупость меня до сих пор поражает.каким боком canproductdelete(я просто прусь от этого названия) будет применим к договору, смете, накладной и тд?
...
Рейтинг: 0 / 0
Парсер
    #38360606
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SeVa,

так насчёт реализации HasPermission ?
...
Рейтинг: 0 / 0
Парсер
    #38360611
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SeVaТвоя тупость меня до сих пор поражает.каким боком canproductdelete(я просто прусь от этого названия) будет применим к договору, смете, накладной и тд?
Жжешь напалмом, кретинорылая обезьяна. Мало того, что ты сам выдумал canproductdelete и, вдобавок, прешься от него. Так еще и приплел сюда договор, сметe и накладную. Причем тут canproductdelete? У меня складывается ощущение, что ты находишься в прострации.
...
Рейтинг: 0 / 0
Парсер
    #38360622
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КSeVaА в твоей системе безопасности есть дерево ролей?
А я велосипеды не изобретаю, есть готовые реализации с возможностью подклчения к внешней бд с штатным расписанием, ролями могут быть должности или отделы и тд, настраиваем один раз разрешния, а исключения задаем отдельным пользователям.рисуем один интерфейс с одним методов и забывем об этом
...
Рейтинг: 0 / 0
Парсер
    #38360631
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ
Код: c#
1.
2.
3.
4.
5.
6.
7.
public interface ISecurityService
{
    CurrentUser User { get; }

    // ...
    bool CanReportRemove(Report report);
}



В одном месте реализации метода CanReportRemove своего SecurityService я описываю требуемую логику в соответствии с новыми правилами.

P.S. Мил человек, я не выступаю противником новой абстракции (Rule). Тем более я сам когда-то в администраторе писал такую логику поверх мембершипа. Я просто тебе говорю, что в 99% случаях хватает обычных ролей. Если у тебя приложение-конструктор, поставленное на поток, возможно было бы неплохо реализовать возможность управления действиями (правилами) через крыжики UI.
Чмо, это я придумал?обезьянка за клавиатурой может только стучать без разбора, а запомнить не в состоянии
...
Рейтинг: 0 / 0
Парсер
    #38360635
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SeVaАлексей Кпропущено...
А в твоей системе безопасности есть дерево ролей?
А я велосипеды не изобретаю, есть готовые реализации с возможностью подклчения к внешней бд с штатным расписанием, ролями могут быть должности или отделы и тд, настраиваем один раз разрешния, а исключения задаем отдельным пользователям.рисуем один интерфейс с одним методов и забывем об этомА в используемых тобой готовых реализациях есть дерево ролей?
...
Рейтинг: 0 / 0
Парсер
    #38360640
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SeVaЧмо, это я придумал?обезьянка за клавиатурой может только стучать без разбора, а запомнить не в состоянии
Дятел, мало того, что ты в зад долбишься, так еще и в глаза, оказывается. Разницу между CanReportRemove и canproductdelete видим?
...
Рейтинг: 0 / 0
Парсер
    #38360654
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SeVaАлексей КА в твоей системе безопасности есть дерево ролей?
А я велосипеды не изобретаю
Role based security это не велосипед, а штатный функционал. На основе него даже доменные политики строятся, используя вместо ролей группы. Учи матчасть, бестолочь.

SeVaесть готовые реализации с возможностью подклчения к внешней бд с штатным расписанием, ролями могут быть должности или отделы и тд, настраиваем один раз разрешния, а исключения задаем отдельным пользователям.рисуем один интерфейс с одним методов и забывем об этом
Что за готовые реализации? И причем тут штатное расписание, отделы и должности? Ты лунный долбоеб просто
Как кореллируют роли с штатными расписанием?
...
Рейтинг: 0 / 0
Парсер
    #38360668
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот роли фейсбука:

https://www.facebook.com/help/www/289207354498410 Менеджер, Создатель материалов, Модератор, Рекламодатель, Аналитик статистики


За каждой ролью закрепляется набор действий. Например, Модератор может

- Отвечать на комментарии и удалять их
- Отправлять сообщения от имени Страницы
- Создать Рекламные объявления
- Просматривать Статистику

Вопрос для долбосевы - причем тут штатное расписание, отделы, должности? На кой хер тут HasPermission?
...
Рейтинг: 0 / 0
Парсер
    #38360683
Фотография EDUARD SAPOTSKI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SeVaСапотски, попросите свенома сделать курсы по с# для полных лохов.пусть он вам за бабки обьясняет, что происходит при добавлении в список, и что нужно делать, чтобы этого не происходило.сам ты это не осилишь.
Сева, на кой хер ты нужен на этом форуме если ты даже на элементарный вопрос ответить не можешь? Выбрось себя в форточку за ненадобностью!
...
Рейтинг: 0 / 0
Парсер
    #38360686
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SeVaАлексей Кпропущено...
А в твоей системе безопасности есть дерево ролей?
А я велосипеды не изобретаю, есть готовые реализации с возможностью подклчения к внешней бд с штатным расписанием, ролями могут быть должности или отделы и тд, настраиваем один раз разрешния, а исключения задаем отдельным пользователям.рисуем один интерфейс с одним методов и забывем об этом+100

Только наследственные идиоты лезут с совковой лопатой в свой говнокод, чтобы добавить роль.
...
Рейтинг: 0 / 0
Парсер
    #38360693
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Долбосева, ты фейсбук тоже считаешь лапидарной системой?

Безопасность фейсбука можно описать таким интерфейсом:

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
public interface IFacebookSecurity
{
    // Управление ролями администраторов
    bool HasManageAdministrator { get; set; }

    // Редактировать страницу
    bool HasEditPage { get; set; }

    // Добавлять приложения
    bool HasCreateApplication { get; set; }

    // Создавать публикации от имени страницы
    bool HasCreatePublications { get; set; }

    // Отвечать на комментарии
    bool HasAskComments { get; set; }

    // Удалять комментарии
    bool HasDeleteComments { get; set; }

    // Отправлять сообщения от имени страницы
    bool HasSendMessageByPage { get; set; }

    // Создать рекламные объявления
    bool HasCreatePromotion { get; set; }

    // Просматривать статистику
    bool HasReadStatistics { get; set; }
}



Это всевозможные действия. Далее создаем (с помощью штатной Role base security) сколь угодно ролей и прибиваем к ним конкретные действия из IFacebookSecurity. Всё. В результате у нас получается реализация этого интерфейса.

P.S. Тупорылый долбосева, ты даже два слова связать не можешь, дибилоид. Ты даже на прямые вопросы участников дискуссии не в состоянии ответить. В чем суть твоего участия тут, открой тайну? И да, не забудь убить себя об стену.
...
Рейтинг: 0 / 0
Парсер
    #38360707
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyТолько наследственные идиоты лезут с совковой лопатой в свой говнокод, чтобы добавить роль.
... сказал опытный сантехник, который недавно с базовыми вещами ado.net научился работать
...
Рейтинг: 0 / 0
Парсер
    #38360722
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУДолбосева, ты фейсбук тоже считаешь лапидарной системой?Да, фейсбук и прочие социалки это лапидарные системы с количеством действий, которое можно сосчитать на пальцах.
...
Рейтинг: 0 / 0
Парсер
    #38360735
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyМСУДолбосева, ты фейсбук тоже считаешь лапидарной системой?Да, фейсбук и прочие социалки это лапидарные системы с количеством действий, которое можно сосчитать на пальцах.
Так он другого ничего не видел, в силу своей тупости, считает, что этогодостаточно.
Муслима, даже в lightswitch похерили membership за полной убогостью
...
Рейтинг: 0 / 0
Парсер
    #38360738
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУAntonariyТолько наследственные идиоты лезут с совковой лопатой в свой говнокод, чтобы добавить роль.
... сказал опытный сантехник, который недавно с базовыми вещами ado.net научился работать Что с того, любитель протухшего говна? Возьми ты инструмент хоть сто лет назад, как производил им кал, так и производишь.
...
Рейтинг: 0 / 0
Парсер
    #38360754
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyМСУДолбосева, ты фейсбук тоже считаешь лапидарной системой?Да, фейсбук и прочие социалки это лапидарные системы с количеством действий, которое можно сосчитать на пальцах.
Твоё никчемное ламерское существование даже ногтя не стоят этих "лапидарных" систем, чудило А во-вторых, количество действий не статично по мере развития системы. Сейчас их 10, завтра 30, послезавтра 50, потом 100. Какая разница? Все эти действия группируются в роли и управляются с помощью родных .NET провайдеров. Надо переключиться на доменную аутентификацию и авторизацию? Не проблема, создаем роли (группы) в Active Directory и всё будет работать как и раньше. Ни строчки кастомного кода, всё штатно.
...
Рейтинг: 0 / 0
Парсер
    #38360762
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SeVaAntonariyпропущено...
Да, фейсбук и прочие социалки это лапидарные системы с количеством действий, которое можно сосчитать на пальцах.
Так он другого ничего не видел, в силу своей тупости, считает, что этогодостаточно.
Муслима, даже в lightswitch похерили membership за полной убогостью
Причем тут membership? RBAC - это не мембершип, бестолочь.

AntonariyМСУпропущено...

... сказал опытный сантехник, который недавно с базовыми вещами ado.net научился работать Что с того, любитель протухшего говна? Возьми ты инструмент хоть сто лет назад, как производил им кал, так и производишь.
А с того, что ты такой же беспонтовый ушлепок типо долбосевы, КПД от которых 0%. И с этим согласится большинство участников.
...
Рейтинг: 0 / 0
Парсер
    #38360770
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУВсе эти действия группируются в роли и управляются с помощью родных .NET провайдеров. Помешивая говнокод лопатой.
...
Рейтинг: 0 / 0
Парсер
    #38360771
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУSeVaпропущено...

Так он другого ничего не видел, в силу своей тупости, считает, что этогодостаточно.
Муслима, даже в lightswitch похерили membership за полной убогостью
Причем тут membership? RBAC - это не мембершип, бестолочь.

Antonariyпропущено...
Что с того, любитель протухшего говна? Возьми ты инструмент хоть сто лет назад, как производил им кал, так и производишь.
А с того, что ты такой же беспонтовый ушлепок типо долбосевы, КПД от которых 0%. И с этим согласится большинство участников.
Чмо, опять начинает хаотично прыгать с ветки на ветку.в сад, убожество
...
Рейтинг: 0 / 0
Парсер
    #38360772
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyМСУВсе эти действия группируются в роли и управляются с помощью родных .NET провайдеров. Помешивая говнокод лопатой.
По делу будет чего?
...
Рейтинг: 0 / 0
Парсер
    #38360776
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SeVaЧмо, опять начинает хаотично прыгать с ветки на ветку.в сад, убожество
Что там про парсинг html через XmlReader?
...
Рейтинг: 0 / 0
Парсер
    #38360780
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LightSwitch - эталон современных систем

P.S. Долбосева, не задумывался, почему тебя чмырят в каждом топике? Потому что ты бесполезное форумное говно, от которого нету толка.
...
Рейтинг: 0 / 0
Парсер
    #38360783
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУAntonariyпропущено...
Помешивая говнокод лопатой.
По делу будет чего?Тебе говна на тарелку подкинуть? На .
...
Рейтинг: 0 / 0
Парсер
    #38360840
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SeVa,

так что там с реализацией HasPermission ?
Как устроена?
...
Рейтинг: 0 / 0
Парсер
    #38360941
Фотография Нахлобуч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изопропилтак что там с реализацией HasPermission ?
Как устроена?
Ну ведь
Код: c#
1.
2.
3.
4.
public bool HasPermission(string permission)
{
    return Roles.Any(r => r.Permissions.Any(p => p.Name == permission));
}
...
Рейтинг: 0 / 0
Парсер
    #38360950
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нахлобуч, не катит. Его слова, что роли - УГ.
...
Рейтинг: 0 / 0
Парсер
    #38360969
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУAntonariyТебе говна на тарелку подкинуть? На .

Antonariy встретился на дороге и не уступает место

Вот вся твоя сущностьНу надо же. Дурика научили пользоваться картинками, а ютубу он сам научился. Сенсация!

Вот только не догадался, что видео, в отличии от картинки, целиком никто не увидит. Ибо смотреть целиком всякий бред будет только даун вроде муси.
...
Рейтинг: 0 / 0
Парсер
    #38360991
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariy, ты что-нибудь, кроме очередной порции говна, можешь родить? Нет? Тогда пнх.
...
Рейтинг: 0 / 0
Парсер
    #38360992
Фотография Нахлобуч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУНахлобуч, не катит. Его слова, что роли - УГ.Нивапрос:

Код: c#
1.
2.
3.
4.
public bool HasPermission(string permission)
{
    return Authorities.Any(a => a.Permissions.Any(p => p.Name == permission));
}


И теперь внимательно сравни с:

Код: c#
1.
2.
3.
4.
public bool IsInRole(string role)
{
    return Roles.Any(r => r.Name == role);
}
...
Рейтинг: 0 / 0
Парсер
    #38361002
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУAntonariy, ты что-нибудь, кроме очередной порции говна, можешь родить? Нет? Тогда пнх.Роди еще кирпич, будь паинькой. У меня заказ от китайцев на стройматериалы для ремонта их стены.
...
Рейтинг: 0 / 0
Парсер
    #38361041
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НахлобучМСУНахлобуч, не катит. Его слова, что роли - УГ.Нивапрос:

Код: c#
1.
2.
3.
4.
public bool HasPermission(string permission)
{
    return Authorities.Any(a => a.Permissions.Any(p => p.Name == permission));
}


И теперь внимательно сравни с:

Код: c#
1.
2.
3.
4.
public bool IsInRole(string role)
{
    return Roles.Any(r => r.Name == role);
}



Некорректный пример:

1. Зачем тут какая-то левая сущность Authorities?
2. Чем она принципиально отличается от ролей?
3. IsInRole не в кассу, ибо вот с чем нужно сравнивать:

Код: c#
1.
2.
3.
4.
public interface ISecurityService
{
    bool CanReportRemove(Report report);
}



4. Непонятно, почему у тебя Permission привязана к роли? Какой-то бред. Если на то пошло, это должны быть различные сущности.
5. В классическом RBAC привилегии не назначаются пользователям непосредственно, и приобретаются ими только через свою роль.
6. Вот реализация ISecurityService, которой хватит за глаза:

Код: c#
1.
2.
3.
4.
public bool CanReportRemove(Report report)
{
    return report != null && (User.IsAdmin || (IsMyReport(report) && report.TypeId == (int)ReportType.Info));
}
...
Рейтинг: 0 / 0
Парсер
    #38361045
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyМСУAntonariy, ты что-нибудь, кроме очередной порции говна, можешь родить? Нет? Тогда пнх.Роди еще кирпич, будь паинькой. У меня заказ от китайцев на стройматериалы для ремонта их стены.
Зачем мне тебя рожать? Проще макнуть тебя в очередной раз в помои и пнуть ногой под жопу. Ты форумный мусор.
...
Рейтинг: 0 / 0
Парсер
    #38361050
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУAntonariyпропущено...
Роди еще кирпич, будь паинькой. У меня заказ от китайцев на стройматериалы для ремонта их стены.
Зачем мне тебя рожать? Проще макнуть тебя в очередной раз в помои и пнуть ногой под жопу. Ты форумный мусор.Хорошая животинка, послушная. Главное подход найти.

Давай еще, китайцам нравится твой продукт. Дешево и сердито
...
Рейтинг: 0 / 0
Парсер
    #38361073
Фотография Нахлобуч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУНекорректный пример:Ну начинается.
МСУ1. Зачем тут какая-то левая сущность Authorities?Тебе же роли не понравились, вот и пришлось придумать.
МСУ2. Чем она принципиально отличается от ролей?Ничем.
МСУ3. IsInRole не в кассу, ибо вот с чем нужно сравнивать:

Код: c#
1.
2.
3.
4.
public interface ISecurityService
{
    bool CanReportRemove(Report report);
}

Весь твой хваленый Мембершип на IsInRole держится . И раз на то пошло, то покажи-ка свою реализацию, скажем, User.IsManager.

МСУ4. Непонятно, почему у тебя Permission привязана к роли ? Какой-то бред. Если на то пошло, это должны быть различные сущности.
5. В классическом RBAC привилегии не назначаются пользователям непосредственно, и приобретаются ими только через свою роль .Сам себе противоречишь.

И кто "это" (4) должны быть разными сущностями?

У меня, заметь, именно так (5) и сделано, как в "классическом RBAC".

МСУ6. Вот реализация ISecurityService, которой хватит за глаза:

Код: c#
1.
2.
3.
4.
public bool CanReportRemove(Report report)
{
    return report != null && (User.IsAdmin || (IsMyReport(report) && report.TypeId == (int)ReportType.Info));
}

Повторюсь -- жажду видеть реализацию User.IsAdmin или User.IsManager
...
Рейтинг: 0 / 0
Парсер
    #38361095
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НахлобучНу начинается.
Ну почему начинается, сказал по факту, as is.

НахлобучТебе же роли не понравились, вот и пришлось придумать.
Попахивает детским садом. Я надеялся на конструктивный диалог, а ты скачешь как макака среди пальм.

НахлобучНичем.
Ну а зачем ты эфир засоряешь?

НахлобучВесь твой хваленый Мембершип на IsInRole держится . И раз на то пошло, то покажи-ка свою реализацию, скажем, User.IsManager.
Я десятый раз говорю, причем тут мембершип? Речь о RBAC. Какая реализация будет - мембершип, сипмл, active directory и т.д., не суть. Я тебе высказал своё видение, что для 99% задач хватает просто ролей. Как решать задачи с экшенами (рулами, пермиссиями - всё одно) я тоже написал. Привел пример сервиса пермиссий для фейсбука на основе реальных политик. Что еще надо?

НахлобучМСУ4. Непонятно, почему у тебя Permission привязана к роли ? Какой-то бред. Если на то пошло, это должны быть различные сущности.
5. В классическом RBAC привилегии не назначаются пользователям непосредственно, и приобретаются ими только через свою роль .Сам себе противоречишь.
Где ты увидел противоречие? У меня классический RBAC, значит приобретаются ими только через роль. У тебя кастом, поэтому с чего бы вдруг привилегиям назначаться через роли? Ты же сам утверждал, что их можно отключать и включать в любое время и как угодно крутить ими. Следовательно, причем тут роли? У тебя какая-то каша получается.

НахлобучУ меня, заметь, именно так (5) и сделано, как в "классическом RBAC".
Нет. У тебя кастом.

НахлобучПовторюсь -- жажду видеть реализацию User.IsAdmin или User.IsManager
Я тебе уже сказал, мембершип тут непричем. Как ты наполнишь роли, так и поплывет безопасность.

Код: c#
1.
2.
3.
4.
5.
public class CurrentUser
{
    public string[] Roles { get; private set; }
    public bool IsAdmin { get { return this.Roles.Contains(RoleProvider.Administrator); } }
}
...
Рейтинг: 0 / 0
Парсер
    #38361100
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyМСУпропущено...

Зачем мне тебя рожать? Проще макнуть тебя в очередной раз в помои и пнуть ногой под жопу. Ты форумный мусор.Хорошая животинка, послушная. Главное подход найти.

Давай еще, китайцам нравится твой продукт. Дешево и сердито

Чудесное тупорылое тельце, знатное. Китайцы даже не представляют, что творится у них за спиной. Дорого и качественно ...учусь писать код
...
Рейтинг: 0 / 0
Парсер
    #38361103
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУНахлобучНу начинается.
Ну почему начинается, сказал по факту, as is.

НахлобучТебе же роли не понравились, вот и пришлось придумать.
Попахивает детским садом. Я надеялся на конструктивный диалог, а ты скачешь как макака среди пальм.

НахлобучНичем.
Ну а зачем ты эфир засоряешь?

НахлобучВесь твой хваленый Мембершип на IsInRole держится . И раз на то пошло, то покажи-ка свою реализацию, скажем, User.IsManager.
Я десятый раз говорю, причем тут мембершип? Речь о RBAC. Какая реализация будет - мембершип, сипмл, active directory и т.д., не суть. Я тебе высказал своё видение, что для 99% задач хватает просто ролей. Как решать задачи с экшенами (рулами, пермиссиями - всё одно) я тоже написал. Привел пример сервиса пермиссий для фейсбука на основе реальных политик. Что еще надо?

Нахлобучпропущено...
Сам себе противоречишь.
Где ты увидел противоречие? У меня классический RBAC, значит приобретаются ими только через роль. У тебя кастом, поэтому с чего бы вдруг привилегиям назначаться через роли? Ты же сам утверждал, что их можно отключать и включать в любое время и как угодно крутить ими. Следовательно, причем тут роли? У тебя какая-то каша получается.

НахлобучУ меня, заметь, именно так (5) и сделано, как в "классическом RBAC".
Нет. У тебя кастом.

НахлобучПовторюсь -- жажду видеть реализацию User.IsAdmin или User.IsManager
Я тебе уже сказал, мембершип тут непричем. Как ты наполнишь роли, так и поплывет безопасность.

Код: c#
1.
2.
3.
4.
5.
public class CurrentUser
{
    public string[] Roles { get; private set; }
    public bool IsAdmin { get { return this.Roles.Contains(RoleProvider.Administrator); } }
}
...
Рейтинг: 0 / 0
Парсер
    #38361109
VIT2708
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУVIT2708, вот код конкретно под твою задачу:

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
var doc = new HTMLDocument() as IHTMLDocument2;
doc.write(html);

foreach (IHTMLElement table in doc.all.OfType<HTMLTable>())
{
    foreach (IHTMLElement tableElement in table.all)
    {
        if (tableElement is HTMLTableSection)
        {
            foreach (IHTMLElement row in tableElement.all)
            {
                if (row is HTMLTableRow)
                {
                    foreach (var item in row.all)
                    {
                        string value = item.innerText ?? string.Empty;
                        Console.Write(value.Trim() + ";");
                    }

                    Console.WriteLine();
                }
            }
        }
    }
}



Спасибо.
...
Рейтинг: 0 / 0
Парсер
    #38361113
VIT2708
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VIT2708,

Задав простой вопрос и получил 7!!!! страниц в основном срача и прочего. Офигеть!!!!!!
...
Рейтинг: 0 / 0
Парсер
    #38361114
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Долбосева, это лучший ответ. Спасибо.
...
Рейтинг: 0 / 0
Парсер
    #38361134
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
молчать, блин!
...
Рейтинг: 0 / 0
Парсер
    #38361149
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нахлобуч, что ты будешь делать, если пермиссия - вычисляемое значение. Зависит, к примеру, от текущей даты и возраста пользователя.
...
Рейтинг: 0 / 0
Парсер
    #38361159
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosмолчать, блин!
А почему роли захардкожены?
...
Рейтинг: 0 / 0
Парсер
    #38361165
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ,
как это?
...
Рейтинг: 0 / 0
Парсер
    #38361170
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosМСУ,
как это?
Иконка с желтым плюсиком везде есть, а у ролей отсутствует.
...
Рейтинг: 0 / 0
Парсер
    #38361172
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ааа ты про разработчика и т.д.
ну эти фиксированные
а все что вы обсуждаете - в макроклассификаторе и в их методах и данных, т.е. справа
...
Рейтинг: 0 / 0
Парсер
    #38361178
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а там + внизу
желтый плюс позволяет выбрать из многих через формы, а роли просто добавяляются - это простая запись
...
Рейтинг: 0 / 0
Парсер
    #38361182
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Муфлончик, твой currentuser - это и есть детский сад без знания основ.для этих целей изначально предназначен iprincipal.вместо левой и никчемной педали есть возможность поддержки модели безопасности net, расширения функционала за счет дополнительных свойств и методов, плюс полная независимость от деталей реализации.я тебе об этом говорил еще десять лет назад, а ты только тупо гигикал и пускал слюни.за это время стал только дубовей и наглее
...
Рейтинг: 0 / 0
Парсер
    #38361183
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ассоциированные пользователи - это пользователи БД СКЛ сервера, а не ВИПРОСа
...
Рейтинг: 0 / 0
Парсер
    #38361186
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ясно. Ну я про это писал уже, если ты пишешь систему для рынка, то имеет смысл использовать динамику. Если под ключ пишешь для своей конторы, с головой хватит только ролей.
...
Рейтинг: 0 / 0
Парсер
    #38361208
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SeVaМуфлончик, твой currentuser - это и есть детский сад без знания основ.для этих целей изначально предназначен iprincipal.вместо левой и никчемной педали есть возможность поддержки модели безопасности net, расширения функционала за счет дополнительных свойств и методов, плюс полная независимость от деталей реализации.я тебе об этом говорил еще десять лет назад, а ты только тупо гигикал и пускал слюни.за это время стал только дубовей и наглее
Глупенькая обезьяна, IPrincipal - это базовая абстракция, у которой нет даже списка ролей, не говоря уже об остальной вспомогательной информации. И за роли IPrincipal не отвечает. С ролями работает штатный RoleProvider с переопределенным методом GetRolesForUser. Опять ты поливаешь напалмом, бестолочь
Провайдер ролей одной строчкой подключается в конфиге и всё штатно работает без велосипедов, которыми усыпано твое больное воображение:

Код: xml
1.
2.
3.
4.
5.
6.
<roleManager defaultProvider="RoleProvider" enabled="true">
    <providers>
        <clear />
        <add name="RoleProvider" type="...RoleProvider" />
    </providers>
roleManager>
...
Рейтинг: 0 / 0
Парсер
    #38361213
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ,

раз уж написал
там где права на макроклассификатор присутствуют два вида фильтров на макротип для заданной роли

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

там же можно редактировать внешний вид формы для макротипа для роли
...
Рейтинг: 0 / 0
Парсер
    #38361225
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сахават, да не вопрос. Платформенные системы не обсуждаются в данном контексте, успокойся :)
...
Рейтинг: 0 / 0
Парсер
    #38361241
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ,

усе молчу
тем более тут на сабантуй зовут :)
...
Рейтинг: 0 / 0
Парсер
    #38361261
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ...учусь писать кодБросай, не для тебя это дело. Кал на входе, кал на выходе.

Давай еще кирпичей, на большее ты не годен.
...
Рейтинг: 0 / 0
Парсер
    #38361262
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VIT2708VIT2708,

Задав простой вопрос и получил 7!!!! страниц в основном срача и прочего. Офигеть!!!!!!Это называется "эффект МСУ".
...
Рейтинг: 0 / 0
Парсер
    #38361263
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУSeVaМуфлончик, твой currentuser - это и есть детский сад без знания основ.для этих целей изначально предназначен iprincipal.вместо левой и никчемной педали есть возможность поддержки модели безопасности net, расширения функционала за счет дополнительных свойств и методов, плюс полная независимость от деталей реализации.я тебе об этом говорил еще десять лет назад, а ты только тупо гигикал и пускал слюни.за это время стал только дубовей и наглее
Глупенькая обезьяна, IPrincipal - это базовая абстракция, у которой нет даже списка ролей, не говоря уже об остальной вспомогательной информации. И за роли IPrincipal не отвечает. С ролями работает штатный RoleProvider с переопределенным методом GetRolesForUser. Опять ты поливаешь напалмом, бестолочь
Провайдер ролей одной строчкой подключается в конфиге и всё штатно работает без велосипедов, которыми усыпано твое больное воображение:

Код: xml
1.
2.
3.
4.
5.
6.
<roleManager defaultProvider="RoleProvider" enabled="true">
    <providers>
        <clear />
        <add name="RoleProvider" type="...RoleProvider" />
    </providers>
roleManager>
...
Рейтинг: 0 / 0
Парсер
    #38361264
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУSeVaМуфлончик, твой currentuser - это и есть детский сад без знания основ.для этих целей изначально предназначен iprincipal.вместо левой и никчемной педали есть возможность поддержки модели безопасности net, расширения функционала за счет дополнительных свойств и методов, плюс полная независимость от деталей реализации.я тебе об этом говорил еще десять лет назад, а ты только тупо гигикал и пускал слюни.за это время стал только дубовей и наглее
Глупенькая обезьяна, IPrincipal - это базовая абстракция, у которой нет даже списка ролей, не говоря уже об остальной вспомогательной информации. И за роли IPrincipal не отвечает. С ролями работает штатный RoleProvider с переопределенным методом GetRolesForUser. Опять ты поливаешь напалмом, бестолочь
Провайдер ролей одной строчкой подключается в конфиге и всё штатно работает без велосипедов, которыми усыпано твое больное воображение:

Код: xml
1.
2.
3.
4.
5.
6.
<roleManager defaultProvider="RoleProvider" enabled="true">
    <providers>
        <clear />
        <add name="RoleProvider" type="...RoleProvider" />
    </providers>
roleManager>
...
Рейтинг: 0 / 0
Парсер
    #38361284
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУSeVaМуфлончик, твой currentuser - это и есть детский сад без знания основ.для этих целей изначально предназначен iprincipal.вместо левой и никчемной педали есть возможность поддержки модели безопасности net, расширения функционала за счет дополнительных свойств и методов, плюс полная независимость от деталей реализации.я тебе об этом говорил еще десять лет назад, а ты только тупо гигикал и пускал слюни.за это время стал только дубовей и наглее
Глупенькая обезьяна, IPrincipal - это базовая абстракция, у которой нет даже списка ролей, не говоря уже об остальной вспомогательной информации. И за роли IPrincipal не отвечает. С ролями работает штатный RoleProvider с переопределенным методом GetRolesForUser. Опять ты поливаешь напалмом, бестолочь
Провайдер ролей одной строчкой подключается в конфиге и всё штатно работает без велосипедов, которыми усыпано твое больное воображение:

Код: xml
1.
2.
3.
4.
5.
6.
<roleManager defaultProvider="RoleProvider" enabled="true">
    <providers>
        <clear />
        <add name="RoleProvider" type="...RoleProvider" />
    </providers>
roleManager>


Это только у убогих провайдер от мембершипа.разработчики net предоставили интерфес, те кто в танке будут создавать свои реализации, а уроды будут лепить currenteser, посмотри хотя бы раз документацию, да выясни, что из себя представляет httpcontext.user, унылое чмо.
...
Рейтинг: 0 / 0
Парсер
    #38361291
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SeVaЭто только у убогих провайдер от мембершипа.разработчики net предоставили интерфес, те кто в танке будут создавать свои реализации, а уроды будут лепить currenteser, посмотри хотя бы раз документацию, да выясни, что из себя представляет httpcontext.user, унылое чмо.
Тебе, случаем, еще не снится мембершип? Для обезьянок сообщаю, провайдер ролей никаким образом к мембершипу не относится. Учи матчасть, бестолочь. У меня, вообще, виндовая аутентификация и текущий HttpContext.User является экземпляром System.Security.Principal.WindowsPrincipal. И лезть дальше WindowsPrincipal > ClaimsPrincipal > IPrincipal вообще не имеет смысла, т.к. всё уже инициализировано. Остается подключить провайдер ролей и использовать штатный RBAC. Либо ничего не подключать, в качестве ролей будут браться доменные группы. Всё. Какой мембершип, дурень ты косожопый?
...
Рейтинг: 0 / 0
Парсер
    #38361307
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А CurrentUser нужен только для ISecurityService, в котором удобно располагается необходимая информация. По сути некий контейнер пользовательской статистики, которая может понадобиться для реализации привилегий. CurrentUser не имеет ничего общего с IPrincipal в принципе, и не должен иметь. Дальше, чем ISecurityService, он нигде не используется за ненадобностью. Долбосева, ты тупое чудовище, у которого отсутствует голова.
...
Рейтинг: 0 / 0
Парсер
    #38361427
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУА CurrentUser нужен только для ISecurityService, в котором удобно располагается необходимая информация. По сути некий контейнер пользовательской статистики, которая может понадобиться для реализации привилегий. CurrentUser не имеет ничего общего с IPrincipal в принципе, и не должен иметь. Дальше, чем ISecurityService, он нигде не используется за ненадобностью. Долбосева, ты тупое чудовище, у которого отсутствует голова.
Те поверх одного убожества лепим кизяк своего замеса, что он может из представлять ты прекрасно продемонстрировал в своем администраторе(еще одна пенка с названием), вместо нормальных средств, где все уже решено без твоих кривых педалей. Место, которым ты привык думать, больше ничего пукнуть не может?
...
Рейтинг: 0 / 0
Парсер
    #38361449
VIT2708
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SeVa, MCY

Неужели вам интересен этот спор?
...
Рейтинг: 0 / 0
Парсер
    #38361455
Фотография buser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VIT2708SeVa, MCY
Неужели вам интересен этот спор?
Давно бы уж "мылом" обменялись и переписывались... Аки Троцкий с Каутским
...
Рейтинг: 0 / 0
Парсер
    #38361808
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VIT2708SeVa, MCY

Неужели вам интересен этот спор?
Никому не интересен. Закрываю нафиг.
...
Рейтинг: 0 / 0
163 сообщений из 163, показаны все 7 страниц
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Парсер
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]