|
Парсер
|
|||
---|---|---|---|
#18+
Знаю что уже много обсуждали данный вопрос но только он у меня несколько необычный но очень простой. Библиотеки парсеры не использую так как функционал простой тем не менее появилась проблема которую пока даже не знаю как решить. И так есть 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.
ИНН я не указывал так как есть не обязательные поля так вот в программе я это разбираю так Код: c# 1. 2. 3. 4. 5. 6.
//построив два массива далее я успешно их обрабатывал но появилась еще одна "контора" которая тоже присылает html файл он 1:1 как и другие кроме одного все идет сплошным текстом Код: html 1.
И вот если между тегами нет текста (<td></td>) то в переменную data не добавляется ничего и длинна массива head становится больше чем data Как должно быть Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9.
как есть сейчас Код: c# 1. 2. 3. 4. 5. 6. 7. 8.
data[2] = ""; - хоть оно и пустое но оно должно быть Подскажите как это можна решить, что бы индексы строк массива data из-за этого не "съезжали" ? Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2013, 17:00 |
|
Парсер
|
|||
---|---|---|---|
#18+
VIT2708Подскажите как это можна решить, что бы индексы строк массива data из-за этого не "съезжали" ?Вообще не писать подобный говнокод будет лучшим решением. Это же фактически xml. Если в ячейках нет невалидных html-тегов типа <br>, то работать с этим текстом надо как с xml. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2013, 18:14 |
|
Парсер
|
|||
---|---|---|---|
#18+
Antonariy, вообще то теги <br> есть я их здесь не приводил так как это не критично ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2013, 18:41 |
|
Парсер
|
|||
---|---|---|---|
#18+
VIT2708, с помощью регулярок можно: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Если кроме данных требуются имена колонок, то делаем так: Код: c# 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2013, 20:41 |
|
Парсер
|
|||
---|---|---|---|
#18+
bazile,Нахлобуч ахтунг ( Последовательность действий) ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2013, 21:11 |
|
Парсер
|
|||
---|---|---|---|
#18+
Нахлобуч, побереги глаза :) Оба регулярных выражения состоят из повторяющихся частей так что их несложно понять. При желании можно "дать подсказку" с помощью форматирования: Код: c# 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2013, 23:50 |
|
Парсер
|
|||
---|---|---|---|
#18+
За парсинг html/xml с помощью регвыров - убивать. P.S. http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454 http://www.codinghorror.com/blog/2009/11/parsing-html-the-cthulhu-way.html ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2013, 03:54 |
|
Парсер
|
|||
---|---|---|---|
#18+
Фигней не майтесь, возьми HtmlAgilityPack там уже давно все украдено придумано до нас! ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2013, 09:20 |
|
Парсер
|
|||
---|---|---|---|
#18+
авторЗа парсинг html/xml с помощью регвыров - убивать ух как грозно и категорично. Так уж сложилось, что для парсинга html использую RegExp'ы и особых проблем не испытываю. HtmlAgilityPack смотрел, пробовал, но предпочтение отдаю RegExp, просто мне так удобнее. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2013, 09:44 |
|
Парсер
|
|||
---|---|---|---|
#18+
Ermakдля парсинга html использую RegExp'ы и особых проблем пока не испытываю Поправил :) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2013, 09:51 |
|
Парсер
|
|||
---|---|---|---|
#18+
Сон Веры ПавловныЗа парсинг 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 . ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2013, 10:13 |
|
Парсер
|
|||
---|---|---|---|
#18+
bazile, дело не только в структуре документа, а еще и в его содержимом. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2013, 10:27 |
|
Парсер
|
|||
---|---|---|---|
#18+
МСУпроблем пока не испытываю Поправил :) Может быть и так. Разработку парсеров заказывают часто, так что ждемс... PS. Просто набил руку на работе с RegEx. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2013, 11:00 |
|
Парсер
|
|||
---|---|---|---|
#18+
Всегда парсил HTML через родной IHTMLDocument2 (mshtml.tlb, ieframe.dll). Работало как часы. HtmlAgilityPack щупал, но в реальных проектах решил не использовать. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2013, 11:13 |
|
Парсер
|
|||
---|---|---|---|
#18+
bazileРегулярные выражения это инструмент со своими плюсами и минусами. Не затруднит озвучить плюсы регулярок по сравнению с парсером в данном конкретном случае? Вариант неумения пользоваться парсером в отличие от регулярок не предлагать. МСУВсегда парсил HTML через родной IHTMLDocument2 (mshtml.tlb, ieframe.dll). Работало как часы. HtmlAgilityPack щупал, но в реальных проектах решил не использовать. Насколько я помню, он не умеет XPath. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2013, 11:43 |
|
Парсер
|
|||
---|---|---|---|
#18+
Сон Веры ПавловныbazileРегулярные выражения это инструмент со своими плюсами и минусами. Не затруднит озвучить плюсы регулярок по сравнению с парсером в данном конкретном случае? Вариант неумения пользоваться парсером в отличие от регулярок не предлагать.Не надо тащить "левую" библиотеку в проект. Regex для простых случаев самое то. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2013, 11:47 |
|
Парсер
|
|||
---|---|---|---|
#18+
Алексей КНе надо тащить "левую" библиотеку в проект. Regex для простых случаев самое то. Это трудоемко? Затратно? Еще что-то? Установка того же HTML Agility Pack через NuGet - дело 10 секунд. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2013, 11:50 |
|
Парсер
|
|||
---|---|---|---|
#18+
Сон Веры ПавловныНасколько я помню, он не умеет XPath.И не должен уметь. Об абсолютно html-валидную конструкцию <i><b></i></b> xpath сломает зубы. В html5 появился document.querySelector/querySelectorAll, не уступающий по мощности xpath. Селекторы jQuery это копипаста querySelector. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2013, 11:53 |
|
Парсер
|
|||
---|---|---|---|
#18+
Сон Веры ПавловныАлексей КНе надо тащить "левую" библиотеку в проект. Regex для простых случаев самое то. Это трудоемко? Затратно? Еще что-то? Установка того же HTML Agility Pack через NuGet - дело 10 секунд.Если задача решается десятком строчек без "левой" библиотеки, зачем тащить в проект "левую" библиотеку? Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2013, 11:54 |
|
Парсер
|
|||
---|---|---|---|
#18+
Сон Веры ПавловныНасколько я помню, он не умеет XPath. А должен уметь? Для этого курим ObjectXPathNavigator. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2013, 11:57 |
|
Парсер
|
|||
---|---|---|---|
#18+
Алексей КНе надо тащить "левую" библиотеку в проект. Regex для простых случаев самое то. Я тоже не люблю левые сборки. Так на то есть виндовой IHTMLDocument2 / IHTMLDocument3. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2013, 11:59 |
|
Парсер
|
|||
---|---|---|---|
#18+
Сон Веры ПавловныНе затруднит озвучить плюсы регулярок по сравнению с парсером в данном конкретном случае? - простое решение для простой задачи используя только средства базовой библиотеки - избегаем использовование внешней библиотеки - нет необходимости тратить время на изучение новой библиотеки (для тех кто ранее не работал с HtmlAgilityPack) При этом конечно помним про недостаток - риск превращения регулярки и кода в ктулху-стиль как это называет Атвуд. Как только появились признаки такого стиля следует переключиться на другие решения. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2013, 12:54 |
|
Парсер
|
|||
---|---|---|---|
#18+
МСУТак на то есть виндовой IHTMLDocument2 / IHTMLDocument3.Не знал, но подозревал что должно быть. :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2013, 13:53 |
|
Парсер
|
|||
---|---|---|---|
#18+
Алексей КМСУТак на то есть виндовой IHTMLDocument2 / IHTMLDocument3.Не знал, но подозревал что должно быть. :-) Быстренько накидал рецептик, щупай :) http://codearticles.ru/articles/2384 ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2013, 14:28 |
|
Парсер
|
|||
---|---|---|---|
#18+
МСУАлексей Кпропущено... Не знал, но подозревал что должно быть. :-) Быстренько накидал рецептик, щупай :) http://codearticles.ru/articles/2384 Пасиб. :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2013, 14:32 |
|
Парсер
|
|||
---|---|---|---|
#18+
Одно удовольствие с IHTMLDocument3 работать, всё типизированно и понятно. Никаких говносборок с кодплексов. Как городить огород (это еще простенький пример с двумя дивами с айдишником и стилем + табличка) на регулярках - я не знаю, это просто жесть неподдерживаемая какая-то :) За такое нужно банить и выжигать моск газовой горелкой. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2013, 14:34 |
|
Парсер
|
|||
---|---|---|---|
#18+
МСУОдно удовольствие с 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2013, 14:59 |
|
Парсер
|
|||
---|---|---|---|
#18+
НахлобучУпасть не встать. Падай и не вставай. Microsoft.mshtml это полноценная объектная модель. Её ты можешь так же обвязать в хелпер с удобными методами. Основной плюс в том, что не нужны никакие сторонние педали. Функционал HtmlDocument красив, никто с этим не спорит, строки кода тут никто не считает. Но зачем он мне, если я те же задачи решу с помощью нативного функционала? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2013, 16:00 |
|
Парсер
|
|||
---|---|---|---|
#18+
МСУНо зачем он мне, если я те же задачи решу с помощью нативного функционала? И самое главное это то, что Microsoft.mshtml богаче и гибче, чем конструкции на xpath ! Самая сложная логика разбора html по зубам. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2013, 17:56 |
|
Парсер
|
|||
---|---|---|---|
#18+
МСУМСУНо зачем он мне, если я те же задачи решу с помощью нативного функционала? И самое главное это то, что Microsoft.mshtml богаче и гибче, чем конструкции на xpath ! Самая сложная логика разбора html по зубам.Во-первых, это не "нативный функционал", а банальная обертка над COM-компонентом со всеми вытекающими "удобными" IHTMLDocument7 и столь же удобным деплоем. Во-вторых, список критериев, по которым оценивается "богатость и гибкость", пожалуйста. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2013, 19:18 |
|
Парсер
|
|||
---|---|---|---|
#18+
МСУАлексей Кпропущено... Не знал, но подозревал что должно быть. :-) Быстренько накидал рецептик, щупай :) http://codearticles.ru/articles/2384 За такой говнокод нужно тыкать носом в эту кучу, чтобы впредь неповадно было: -большая навозная куча почти на станицу -масса тормознутых foreach -hardcode с индексам -на закуску-типичная лузерская ошибка с добавлением в список, которая сразу говорит о школярских знаниях net и как это садит производительность -кусок говнокода, который даже не оформлен в виде функции Зы для таких остолопов внешние библиотеки - то, что доктор прописал.их, по крайнеймере пишут нечайники ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2013, 20:22 |
|
Парсер
|
|||
---|---|---|---|
#18+
SeVaМСУпропущено... Быстренько накидал рецептик, щупай :) http://codearticles.ru/articles/2384 За такой говнокод нужно тыкать носом в эту кучу, чтобы впредь неповадно было: -большая навозная куча почти на станицу -масса тормознутых foreach -hardcode с индексам -на закуску-типичная лузерская ошибка с добавлением в список, которая сразу говорит о школярских знаниях net и как это садит производительность -кусок говнокода, который даже не оформлен в виде функции Зы для таких остолопов внешние библиотеки - то, что доктор прописал.их, по крайнеймере пишут нечайникиНасчет тормознутости foreach сомневаюсь, с индексами не согласен (в этой задаче в любом случае придется что-то захардкодить, не индексы, так селекторы) но вот это просто убило: Код: c# 1. 2. 3. 4.
Двойка за такой код была бы высочайшей похвалой. all сам по себе вызывает легкий нервный тик, но так как этот код не покинет песочницы ie, в принципе можно забить. Однако тут муся умудрился блеснуть незнанием объектной модели, которую сам же воспевает. html-таблица обладает свойством rows, которое содержит коллекцию из HTMLTableRow, исключающую необходимость в последнем говноусловии. Так же для справки: HTMLTableRow.cols содержит коллекцию догадайтесь чего. Весь этот чудовищный бред с кучей циклов можно сократить до одного, заменив тернистый путь до строк одним выражением: Код: c# 1.
Не знаю как в IE, но в Опере .querySelectorAll("div") и .querySelectorAll(".my") работает примерно вдвое быстрее, чем .getElementsByTagName("div") и .getElementsByClassName("my") соответственно.Селекторы работают с восьмой версии IE, то есть уже 5 лет. Стыдоба. Отдельно умиляет говноссылка на data.html, которая есть у всех, но работает, по всей видимости, только у зарегистрированных анальных рабов муси, ибо перекидывает на форму логина. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2013, 00:23 |
|
Парсер
|
|||
---|---|---|---|
#18+
Про табличку забыл: Код: c# 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2013, 00:26 |
|
Парсер
|
|||
---|---|---|---|
#18+
НахлобучВо-первых, это не "нативный функционал", а банальная обертка над COM-компонентом со всеми вытекающими "удобными" IHTMLDocument7 и столь же удобным деплоем. Во-вторых, список критериев, по которым оценивается "богатость и гибкость", пожалуйста. Во-первых, это нативный функционал и он есть уже в винде Microsoft.mshtml.dll , никаких левых dll не нужно. Тот факт, что это com обертка, не значит ничего плохого. Про "вытекающие" поподробней, пожалуйста. Во-вторых, "богатость и гибкость" выражается в процедурности подхода и его типизации, а не банальных ошметках xml, порожденных из кривого тупого xpath запроса. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2013, 08:55 |
|
Парсер
|
|||
---|---|---|---|
#18+
SeVaМСУпропущено... Быстренько накидал рецептик, щупай :) http://codearticles.ru/articles/2384 За такой говнокод нужно тыкать носом в эту кучу, чтобы впредь неповадно было: -большая навозная куча почти на станицу -масса тормознутых foreach -hardcode с индексам -на закуску-типичная лузерская ошибка с добавлением в список, которая сразу говорит о школярских знаниях net и как это садит производительность -кусок говнокода, который даже не оформлен в виде функции Зы для таких остолопов внешние библиотеки - то, что доктор прописал.их, по крайнеймере пишут нечайники За твою тупость тебя давно уже надо подвесить ногами вверх у московского зоопарка, чучело. - обычный типизированный подход с циклами и поиском нужных элементов, нет задачи сокращать его или как-то ужимать - насчет тормознутости foreach пойди бабушке своей сказки расскажи, поиск через getElementById с последующим перебором по className - это самое быстрое получение нужных html элементов, которое только видовал свет, по такому же принципу работают и селекторы в jquery - у Нахлобуча тоже хардкод с индексами и что? Тут обсуждаются приемы работы с html, бестолочь. - смотри выше, тут речь не о добавлении элементов куда-то, а обсуждается подход работы с html. У тебя всегда мозг через заднее место работал, вследствие чего ты затруднялся сосредоточиться на конечных деталях. Банальный диагноз параноика. - какая в задницу функция, ты о чем? Убей себя ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2013, 09:01 |
|
Парсер
|
|||
---|---|---|---|
#18+
Antonariy, вопрос не в оптимизации парсинга таблички, а в демонстрации полного перебора типизированных элементов. Если и ты этого не понимаешь, то сходи в сад со всеми остальными. Вброс про querySelectorAll ты так и не довел до конца: полностью рабочий код в студию. А то нагадил, а за собой не убрал - типично и в твоем стиле. Позорище. Говноссылку на data.html обходи стороной, ты не достоин её качать. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2013, 09:10 |
|
Парсер
|
|||
---|---|---|---|
#18+
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 запроса. МСУ в своем репертуаре - то, что он не любит/не умеет готовить, обильно снабжает яркими эмоциональными эпитетами. Это, конечно же, придает аргументации взвешенность и обоснованность. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2013, 09:38 |
|
Парсер
|
|||
---|---|---|---|
#18+
Сон Веры ПавловныМСУа не банальных ошметках xml, порожденных из кривого тупого xpath запроса. МСУ в своем репертуаре - то, что он не любит/не умеет готовить, обильно снабжает яркими эмоциональными эпитетами. Это, конечно же, придает аргументации взвешенность и обоснованность. Полно тебе :) Я не против xpath, я против сторонних приблуд с кодплекса от пионеров, когда есть в штатном распоряжении более вкусные вещи, такие как IHTMLDocument3. Полностью типизированные html элементы должны больше радовать, чем пугать. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2013, 10:14 |
|
Парсер
|
|||
---|---|---|---|
#18+
Ведь IHTMLDocument3 помимо чтения, позволяет еще создавать элементы. То есть представляет собой самый полный функционал при работе с html. Так нахрена мне качать какие-то гусли с интернетов? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2013, 10:17 |
|
Парсер
|
|||
---|---|---|---|
#18+
МСУAntonariy, вопрос не в оптимизации парсинга таблички, а в демонстрации полного перебора типизированных элементов. Если и ты этого не понимаешь, то сходи в сад со всеми остальными. Вброс про querySelectorAll ты так и не довел до конца: полностью рабочий код в студию. А то нагадил, а за собой не убрал - типично и в твоем стиле. Позорище. Говноссылку на data.html обходи стороной, ты не достоин её качать.Обосрался — обтекай, быдло ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2013, 10:26 |
|
Парсер
|
|||
---|---|---|---|
#18+
Сон Веры ПавловныAntonariyВ html5 появился document.querySelector/querySelectorAll, не уступающий по мощности xpath. Селекторы jQuery это копипаста querySelector. Очень сильно уступающий, т.к. основан на синтаксисе CSS-селекторов, который весьма слаб. Попробуйте с его помощью выбрать из 3-й таблицы документа все rows, которые содержат только пустые ячейки (без вложенных элементов).Ну ок, уступает. Но с другой стороны необходимость в таких хитромудрых условиях встречается крайне редко и как правило символизирует неправильную постановку задачи или решение в духе муси: "оно должно показать, как правильно писать лютейший говнокод и в жопу оптимизацию". ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2013, 10:43 |
|
Парсер
|
|||
---|---|---|---|
#18+
AntonariyМСУAntonariy, вопрос не в оптимизации парсинга таблички, а в демонстрации полного перебора типизированных элементов. Если и ты этого не понимаешь, то сходи в сад со всеми остальными. Вброс про querySelectorAll ты так и не довел до конца: полностью рабочий код в студию. А то нагадил, а за собой не убрал - типично и в твоем стиле. Позорище. Говноссылку на data.html обходи стороной, ты не достоин её качать.Обосрался — обтекай, быдло Муслима, я твой говнокод только мельком смлтрел(уж слишком смердит ), но antonairy тебя правильно носом ткнул в all&if.только полный урод будет развешивать подобную клюкву вместо одного linq запроса с нужными условиями выборки. 2antoniary, foreach при прочих равных условиях медленней for из-за двух дополнительных локальных переменных, плюс перечечслитель гораздо медленней индексного доступа, который оптимизирует il 2тс, сделай нужный xmlreader в пару строчек и закрывай этот говнотопик ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2013, 10:55 |
|
Парсер
|
|||
---|---|---|---|
#18+
AntonariyМСУAntonariy, вопрос не в оптимизации парсинга таблички, а в демонстрации полного перебора типизированных элементов. Если и ты этого не понимаешь, то сходи в сад со всеми остальными. Вброс про querySelectorAll ты так и не довел до конца: полностью рабочий код в студию. А то нагадил, а за собой не убрал - типично и в твоем стиле. Позорище. Говноссылку на data.html обходи стороной, ты не достоин её качать.Обосрался — обтекай, быдло Код будет, утырок? Или снова сливаешься в унитаз? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2013, 11:00 |
|
Парсер
|
|||
---|---|---|---|
#18+
SeVa2тс, сделай нужный xmlreader в пару строчек и закрывай этот говнотопикxmlreader не прокатит, у ТСа код не xml-валидный. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2013, 11:00 |
|
Парсер
|
|||
---|---|---|---|
#18+
Алексей КМСУпропущено... Быстренько накидал рецептик, щупай :) http://codearticles.ru/articles/2384 Пасиб. :-) После таких спасиб я с опаской буду садится в поезд.если программасты такие, то почемудругие должны быть лучше.ладно regionmanager-тема для таких нкподъемная, но ui, который зависит от wcf и подобный маразм-это уже чере край Алексей, бери мсу за ручку, да на курсы ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2013, 11:04 |
|
Парсер
|
|||
---|---|---|---|
#18+
Долбосева, опять ты обращался по самые помидоры. Линкю запрос тут вообще мимо кассы. Букварь в зубы и срочно читать про селекторы, бестолочь Циклы тут в самый раз, ибо селектор точно так же раскладывается в цикл по всему дом элементу с поиском по фильтру. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2013, 11:04 |
|
Парсер
|
|||
---|---|---|---|
#18+
МСУAntonariyпропущено... Обосрался — обтекай, быдло Код будет, утырок? Или снова сливаешься в унитаз?Мне с тобой не по пути Той строчки, что я уже написал, вменяемому человеку достаточно, а ты высри еще кирпич и обтекай дальше. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2013, 11:05 |
|
Парсер
|
|||
---|---|---|---|
#18+
Про XmlReader вообще абасаца. Долбосева, ты признак тупости и шизофрении ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2013, 11:05 |
|
Парсер
|
|||
---|---|---|---|
#18+
AntonariyМСУпропущено... Код будет, утырок? Или снова сливаешься в унитаз?Мне с тобой не по пути Той строчки, что я уже написал, вменяемому человеку достаточно, а ты высри еще кирпич и обтекай дальше. Унылый отмаз нашкодившего школьника. То есть ты не в состоянии аргументировать свой высер. Собственно, я и не сомневался. Такое чепушило как ты не способно выдавать валидный код P.S. Для кретинов сообщаю, никакими селекторами тут и не пахнет, бестолочь. Это дом от нативного Microsoft.mshtml. Учи матчасть и не засоряй топик своими тупыми сообщениями. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2013, 11:08 |
|
Парсер
|
|||
---|---|---|---|
#18+
AntonariySeVa2тс, сделай нужный xmlreader в пару строчек и закрывай этот говнотопикxmlreader не прокатит, у ТСа код не xml-валидный. Он нужен именно100%, когда невалидный.сейчас ссылку не дам(давно это было), на msdn был пример кастомного xmlreader'a для ini-файла, который и близко не стоял рядом с xml, а для этого варианта будет пару строок ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2013, 11:11 |
|
Парсер
|
|||
---|---|---|---|
#18+
Долбак снова жжет мембершипом. Какой в зад ini файл, чудовище? Ты, вообще, понимаешь о чем тут речь идет? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2013, 11:21 |
|
Парсер
|
|||
---|---|---|---|
#18+
МСУникаких левых dll не нужно. Тот факт, что это com обертка, не значит ничего плохого. Про "вытекающие" поподробней, пожалуйста.К твоему сведению: Microsoft.mshtml.dll - это Primary Interop Assembly, распространять которую тебе не позволит лицензия. Так что у тебя выбор -- либо полагаться на то, что на машине клиента таки будет эта сборка и будет имеено нужной тебе версии, либо генерировать обертку самостоятельно с помощью tlbimp.exe и снова иметь возможность поиметь проблем с расхождением версий у тебя и у клиента. Или играться с Embed Interop Types и Specific Version. Это про удобство развертывания. МСУВо-вторых, "богатость и гибкость" выражается в процедурности подхода и его типизации, а не банальных ошметках xml, порожденных из кривого тупого xpath запроса.Я тебя просил критерии, по которым ты оцениваешь богатство и гибкость, а ты опять в сторону увиливаешь. HtmlAgilityPack позволяет точно так же, процедурно, обходить все дерево и выбирать узлы, но с XPath-выражением получается в короче и выразительнее. А выкрик про "банальные ошметки XML"... Чего этим сказать-то хотел? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2013, 11:28 |
|
Парсер
|
|||
---|---|---|---|
#18+
Нахлобучлибо генерировать обертку самостоятельно с помощью tlbimp.exe и снова иметь возможность поиметь проблем с расхождением версий у тебя и у клиента. Кстати, да, с весриями возможны косяки - я когда-то давно зачем-то подключал к проекту mshtml, и, видимо, обертка осела в GAC, и с тех пор не обновлялась, несмотря на то, что сменились 3 версии IE (сейчас установлен 10-й) - в обертке не было интерфейсов IDocumentSelector/IElementSelector, как раз предоставляющих методы querySelector/querySelectorAll. Помогла перегенерация обертки с пом. tlbimp. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2013, 11:35 |
|
Парсер
|
|||
---|---|---|---|
#18+
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.
... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2013, 11:39 |
|
Парсер
|
|||
---|---|---|---|
#18+
МСУДолбак снова жжет мембершипом. Какой в зад ini файл, чудовище? Ты, вообще, понимаешь о чем тут речь идет? Тупое животное, сходи на курсы, объяснять азы такому придурку-пустая трата времени.тебе даже вагоны чистить еще рано ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2013, 11:41 |
|
Парсер
|
|||
---|---|---|---|
#18+
НахлобучК твоему сведению: Microsoft.mshtml.dll - это Primary Interop Assembly, распространять которую тебе не позволит лицензия. Так что у тебя выбор -- либо полагаться на то, что на машине клиента таки будет эта сборка и будет имеено нужной тебе версии, либо генерировать обертку самостоятельно с помощью tlbimp.exe и снова иметь возможность поиметь проблем с расхождением версий у тебя и у клиента. Или играться с Embed Interop Types и Specific Version. Это про удобство развертывания. В том-то и дело, что мне её не нужно распространять, она есть в любой винде. И собирается проект с CopyLocal = False. Так что все опасения твои по поводу того, что этой сборки не окажется - напрасны. Никаких проблем с развертыванием не было, не нужно тут пугать людей и наводить страх. НахлобучМСУВо-вторых, "богатость и гибкость" выражается в процедурности подхода и его типизации, а не банальных ошметках xml, порожденных из кривого тупого xpath запроса.Я тебя просил критерии, по которым ты оцениваешь богатство и гибкость, а ты опять в сторону увиливаешь. HtmlAgilityPack позволяет точно так же, процедурно, обходить все дерево и выбирать узлы, но с XPath-выражением получается в короче и выразительнее. А выкрик про "банальные ошметки XML"... Чего этим сказать-то хотел? Я тебе эти критерии озвучил, читай внимательнее. Процедурность подхода мощнее xpath запросов и типизация дом элементов таки. Никаких увиливаний, просто пытайся понять, что тебе пишут. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2013, 11:44 |
|
Парсер
|
|||
---|---|---|---|
#18+
SeVaМСУДолбак снова жжет мембершипом. Какой в зад ini файл, чудовище? Ты, вообще, понимаешь о чем тут речь идет? Тупое животное, сходи на курсы, объяснять азы такому придурку-пустая трата времени.тебе даже вагоны чистить еще рано Ты в очередной раз блеснул своей тупостью, обезьяна html-льная Прячься в зоопарке и не пугай форум. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2013, 11:48 |
|
Парсер
|
|||
---|---|---|---|
#18+
Сон Веры ПавловныКстати, да, с весриями возможны косяки - я когда-то давно зачем-то подключал к проекту mshtml, и, видимо, обертка осела в GAC, и с тех пор не обновлялась, несмотря на то, что сменились 3 версии IE (сейчас установлен 10-й) - в обертке не было интерфейсов IDocumentSelector/IElementSelector, как раз предоставляющих методы querySelector/querySelectorAll. Помогла перегенерация обертки с пом. tlbimp. Если оперировать классическими IHTMLElement, IHTMLDivElement, HTMLTableSection и т.п., то этого функционала хватит за глаза, т.к. он присутствует даже в самых ранних реализациях. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2013, 11:50 |
|
Парсер
|
|||
---|---|---|---|
#18+
МСУСон Веры ПавловныКстати, да, с весриями возможны косяки - я когда-то давно зачем-то подключал к проекту mshtml, и, видимо, обертка осела в GAC, и с тех пор не обновлялась, несмотря на то, что сменились 3 версии IE (сейчас установлен 10-й) - в обертке не было интерфейсов IDocumentSelector/IElementSelector, как раз предоставляющих методы querySelector/querySelectorAll. Помогла перегенерация обертки с пом. tlbimp. Если оперировать классическими IHTMLElement, IHTMLDivElement, HTMLTableSection и т.п., то этого функционала хватит за глаза, т.к. он присутствует даже в самых ранних реализациях. А-во вторых, зачем тебе лишний референс на Mshtml.dll. Если код будет выполняться на Windows XP без SP, то получишь ошибку. А вообще странно, для серверных осей, начиная с 2003 сервера, эта библиотека в наличии и IDocumentSelector тоже. Так что какие-то сказки получаются. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2013, 11:55 |
|
Парсер
|
|||
---|---|---|---|
#18+
SeVaАлексей Кпропущено... Пасиб. :-) После таких спасиб я с опаской буду садится в поезд.если программасты такие, то почемудругие должны быть лучше.ладно regionmanager-тема для таких нкподъемная, но ui, который зависит от wcf и подобный маразм-это уже чере край Алексей, бери мсу за ручку, да на курсыSeVa, я перестаю тебя понимать. Какой UI? Причём тут WCF? Ведь речь идёт про "сферический парсинг HTML в вакууме". МСУ дал нормальный пример, из которого понятно как прицепить и использовать библиотеку. А претензии вроде "не использовал LINQ - значит ламер", это из разряда "свинья везде грязь найдёт". Подумай об этом. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2013, 13:04 |
|
Парсер
|
|||
---|---|---|---|
#18+
Алексей КSeVaпропущено... После таких спасиб я с опаской буду садится в поезд.если программасты такие, то почемудругие должны быть лучше.ладно regionmanager-тема для таких нкподъемная, но ui, который зависит от wcf и подобный маразм-это уже чере край Алексей, бери мсу за ручку, да на курсыSeVa, я перестаю тебя понимать. Какой UI? Причём тут WCF? Ведь речь идёт про "сферический парсинг HTML в вакууме". МСУ дал нормальный пример, из которого понятно как прицепить и использовать библиотеку. А претензии вроде "не использовал LINQ - значит ламер", это из разряда "свинья везде грязь найдёт". Подумай об этом. Вот ты и нашел мсу.немудрено, что тебе тоже нужно объяснять почему у мсу один сплошной говнокод. Тебе точно подумать об этом стоит ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2013, 13:25 |
|
Парсер
|
|||
---|---|---|---|
#18+
Долбосева, задумайся о своём смысле существования на этом форуме. Ты обычная пустоголовая балаболка с выхлопом КПД в 0%. От тебя нет и не было толку. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2013, 13:29 |
|
Парсер
|
|||
---|---|---|---|
#18+
Алексей КSeVa... Подумай об этом. Ему нечем... ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2013, 15:06 |
|
Парсер
|
|||
---|---|---|---|
#18+
Ты когда нам пенки свои покажешь, как html с помощью XmlReader парсишь, чучело? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2013, 15:07 |
|
Парсер
|
|||
---|---|---|---|
#18+
EDUARD SAPOTSKIАлексей КSeVa... Подумай об этом. Ему нечем... Ну хочется верить в людей. Раньше он таким не был. :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2013, 15:12 |
|
Парсер
|
|||
---|---|---|---|
#18+
Алексей КРаньше он таким не был. :-) Да он всегда таким был, просто ты не присматривался. А сейчас вообще превратился в чмошника, которого не пинает даже ленивый. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2013, 15:13 |
|
Парсер
|
|||
---|---|---|---|
#18+
SeVa-на закуску-типичная лузерская ошибка с добавлением в список, которая сразу говорит о школярских знаниях net и как это садит производительность Енто пита вот это говнокодерство: list.Add(new { Num = num, Text = text, Guid = guid }); Просветите меня неразумного с каких это пор и почему, и как сделать правильно? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2013, 15:25 |
|
Парсер
|
|||
---|---|---|---|
#18+
Эдик, твои вопросы его сейчас отключат от реального мира и он опять начнет бредить. Он еще xml ридером не закончил парсить html через linq, а ты ему про dynamic. Не шевели ногой гумно, максимум только веточкой потрогай. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2013, 15:57 |
|
Парсер
|
|||
---|---|---|---|
#18+
МСУОн еще xml ридером не закончил парсить html через linq... Хочу на это посмотреть чесслово... ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2013, 16:04 |
|
Парсер
|
|||
---|---|---|---|
#18+
EDUARD SAPOTSKIМСУОн еще xml ридером не закончил парсить html через linq... Хочу на это посмотреть чесслово... Это еще раньше как-то забавляло, а теперь без слез на его гонево не взглянешь. Один отжиг про то, что Role Management API зло, намекает на то, что он полный кретин. Уж молчу про то, что IPrincipal рулит, а Membership гавно Это полный мрак, по нему уже целый букварь жести можно писать, всего не упомнишь. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2013, 16:10 |
|
Парсер
|
|||
---|---|---|---|
#18+
МСУMembership гавноВот скажи мне, мил человек. Есть у тебя средних размеров приложение. Несколько сотен пользователей, пара десятков ролей, контролирующих различные аспекты. К примеру, есть роль "Менеджер", которая позволяет человеку строить отчеты, удалять уже сгенерированные отчеты, добавлять пользователей в систему и еще чего-нибудь. Внимание, вопрос: как с использованием Мембершипа отобрать у всех "Менеджеров" возможность удалять отчеты, но оставить все остальные полномочия в силе? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2013, 16:26 |
|
Парсер
|
|||
---|---|---|---|
#18+
НахлобучВнимание, вопрос: как с использованием Мембершипа отобрать у всех "Менеджеров" возможность удалять отчеты, но оставить все остальные полномочия в силе? Вводится новая роль "Лайт менеджер" и прибивается к ней озвученная логика. У пользователей, кототорым запрещено удалять отчеты, я отбираю роль "Менеджер" и даю "Лайт менеджер". Причем, всё это делается в одном месте - в реализации SecurityService, само приложение через IoC общается с этим сервисом через ISecurityService. Вся логика остается в силе, приложение работает как работало. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2013, 16:39 |
|
Парсер
|
|||
---|---|---|---|
#18+
Код: c# 1. 2. 3. 4. 5. 6. 7.
В одном месте реализации метода CanReportRemove своего SecurityService я описываю требуемую логику в соответствии с новыми правилами. P.S. Мил человек, я не выступаю противником новой абстракции (Rule). Тем более я сам когда-то в администраторе писал такую логику поверх мембершипа. Я просто тебе говорю, что в 99% случаях хватает обычных ролей. Если у тебя приложение-конструктор, поставленное на поток, возможно было бы неплохо реализовать возможность управления действиями (правилами) через крыжики UI. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2013, 16:48 |
|
Парсер
|
|||
---|---|---|---|
#18+
МСУВводится новая роль "Лайт менеджер" и прибивается к ней озвученная логика. У пользователей, кототорым запрещено удалять отчеты, я отбираю роль "Менеджер" и даю "Лайт менеджер". Причем, всё это делается в одном месте - в реализации SecurityService, само приложение через IoC общается с этим сервисом через ISecurityService. Вся логика остается в силе, приложение работает как работало. То есть такая тривиальная вещь, как изменение набора прав у группы лиц, у тебя выливается в изменение кода ? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2013, 16:49 |
|
Парсер
|
|||
---|---|---|---|
#18+
НахлобучТо есть такая тривиальная вещь, как изменение набора прав у группы лиц, у тебя выливается в изменение кода ? Да. И я не вижу в этом катастрофы, т.к. такие административные изменения происходят крайне редко. Безопасность с возможными действиями описана и задокументирована изначально. При необходимости можно без проблем изменить. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2013, 16:53 |
|
Парсер
|
|||
---|---|---|---|
#18+
МСУ, менять код - последнее дело :) за это надо расстреливать ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2013, 17:17 |
|
Парсер
|
|||
---|---|---|---|
#18+
ViPRosМСУ, менять код - последнее дело :) за это надо расстреливать В системах конструкторах типа твоего випроса - бесспорно. Для обычных "кастомных систем под ключ" менять код - обычное дело. Смотри на мир шире, бизнес дышит не только твоей убогой небезопасной 2-tier поделкой :) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2013, 17:19 |
|
Парсер
|
|||
---|---|---|---|
#18+
МСУНахлобучТо есть такая тривиальная вещь, как изменение набора прав у группы лиц, у тебя выливается в изменение кода ? Да. И я не вижу в этом катастрофы, т.к. такие административные изменения происходят крайне редко. Безопасность с возможными действиями описана и задокументирована изначально. При необходимости можно без проблем изменить. Муфлон, твои роли могут быть четко прописаны и пригодны только для порносайтов(супер-админтупаячурка-мсу и проститутки).помимо удаления есть еще изменения,согласование, подписание, просмотр и тд.сотни объектов да на десяток левых ролей-большая навозная куча.иди лечись, урод ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2013, 22:51 |
|
Парсер
|
|||
---|---|---|---|
#18+
SeVaМуфлон, твои роли могут быть четко прописаны и пригодны только для порносайтов(супер-админтупаячурка-мсу и проститутки).помимо удаления есть еще изменения,согласование, подписание, просмотр и тд.сотни объектов да на десяток левых ролей-большая навозная куча.иди лечись, урод Долбосева, порносайты у тебя в голове и никак иначе. Ты ими бредишь, тупое чудовище. А по поводу ролевых политик: каждая роль наделена n действиями в программе, поэтому никаких проблем с "изменением, согласованием, подписанием, просмотром и тд." нету. Мы долго будем от тебя ждать новую порцию жести по разбору html через XmlReader и Linq? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2013, 09:17 |
|
Парсер
|
|||
---|---|---|---|
#18+
SeVaИзопропилпропущено... ну паровозы ходили и до появления микропроцессоров, а вот что дать тем, кто тяжелее мышки ничего в руках не держал - не знаю Одна надежда, что говнокодеров к паровозам еще не подпустилиПаровозов в эксплуатации осталось мало. Ты бы лучше за электровозы, тепловозы и моторвагонный подвижной состав беспокоился. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2013, 09:29 |
|
Парсер
|
|||
---|---|---|---|
#18+
Алексей Кмоторвагонный подвижной состав беспокоился. Слова-то какие страшные ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2013, 09:44 |
|
Парсер
|
|||
---|---|---|---|
#18+
МСУАлексей Кмоторвагонный подвижной состав беспокоился. Слова-то какие страшные В простонародье - электричка. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2013, 10:06 |
|
Парсер
|
|||
---|---|---|---|
#18+
Алексей КМСУпропущено... Слова-то какие страшные В простонародье - электричка. а дрезину куда девать? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2013, 10:17 |
|
Парсер
|
|||
---|---|---|---|
#18+
Вообщем, это всё теория. Объясните мне, почему Сева превратился в такое убогое неуправляемое чмо с отсутствием головы на плечах? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2013, 10:46 |
|
Парсер
|
|||
---|---|---|---|
#18+
МСУ, много читает о че он тебя критиковал на счет форич? чем заменить надо? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2013, 10:49 |
|
Парсер
|
|||
---|---|---|---|
#18+
Сахават, ну так и задай ему этот вопрос. А мы пока за попкорном сходим ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2013, 10:53 |
|
Парсер
|
|||
---|---|---|---|
#18+
В очередь! Пусть сначала расскажет как объекты в колекцию добавлять, а то я ваще в прострации и не знаю как дальше жить... ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2013, 10:58 |
|
Парсер
|
|||
---|---|---|---|
#18+
ИзопропилАлексей Кпропущено... В простонародье - электричка. а дрезину куда девать?Мне кажется, этот вопрос достоен отдельного топика. :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2013, 11:01 |
|
Парсер
|
|||
---|---|---|---|
#18+
МСУSeVaМуфлон, твои роли могут быть четко прописаны и пригодны только для порносайтов(супер-админтупаячурка-мсу и проститутки).помимо удаления есть еще изменения,согласование, подписание, просмотр и тд.сотни объектов да на десяток левых ролей-большая навозная куча.иди лечись, урод Долбосева, порносайты у тебя в голове и никак иначе. Ты ими бредишь, тупое чудовище. А по поводу ролевых политик: каждая роль наделена n действиями в программе, поэтому никаких проблем с "изменением, согласованием, подписанием, просмотром и тд." нету. Мы долго будем от тебя ждать новую порцию жести по разбору html через XmlReader и Linq? Тупое животное, речь шла об исключениях и твоем очередном говносервисе(одно название canproductdelete заслуживает заслуживает медаль "почетный чмошник"), которых нужно будет наплодить большую навозную кучу вместо одного с одним единственным методом HasPermission, если права раздавать на определенное действие, а не по убогим ролям. Чувствуешь разницу, чмо, между одним и сотнейлевых, мусорных классов, которые нужны только потому, что одна обезьяна научилась стучать по клавишам? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2013, 11:18 |
|
Парсер
|
|||
---|---|---|---|
#18+
SeVaТупое животное, речь шла об исключениях и твоем очередном говносервисе Кретинообразное чудовище, о каких исключениях шла речь? XmlReader и Linq - это исключения? Теперь буду знать, что если долбосева пишет про Linq, значит он имеет ввиду исключения SeVaодно название canproductdelete заслуживает заслуживает медаль "почетный чмошник"), которых нужно будет наплодить большую навозную кучу вместо одного с одним единственным методом HasPermission, если права раздавать на определенное действие, а не по убогим ролям. Очередной зверский потуг тупой кухарки, которая более 10 формочек на сильверлайте не писала - в штатной role based security нет понятия permission, тупица. SeVaЧувствуешь разницу, чмо, между одним и сотнейлевых, мусорных классов, которые нужны только потому, что одна обезьяна научилась стучать по клавишам? Глупое феерическое уебище, откуда тут взялась сотня левых классов? Тут один интерфейс, который полностью описывает возможности программы и реализация этого интерфейса. Ко всему прочему, всё это работает на штатном провайдере ролей без единой строчки кода. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2013, 11:27 |
|
Парсер
|
|||
---|---|---|---|
#18+
SeVaHasPermission реализация HasPermission как выглядит? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2013, 11:27 |
|
Парсер
|
|||
---|---|---|---|
#18+
EDUARD SAPOTSKIВ очередь! Пусть сначала расскажет как объекты в колекцию добавлять, а то я ваще в прострации и не знаю как дальше жить... Сапотски, попросите свенома сделать курсы по с# для полных лохов.пусть он вам за бабки обьясняет, что происходит при добавлении в список, и что нужно делать, чтобы этого не происходило.сам ты это не осилишь. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2013, 11:40 |
|
Парсер
|
|||
---|---|---|---|
#18+
SeVaА в твоей системе безопасности есть дерево ролей? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2013, 11:40 |
|
Парсер
|
|||
---|---|---|---|
#18+
МСУSeVaТупое животное, речь шла об исключениях и твоем очередном говносервисе Кретинообразное чудовище, о каких исключениях шла речь? XmlReader и Linq - это исключения? Теперь буду знать, что если долбосева пишет про Linq, значит он имеет ввиду исключения SeVaодно название canproductdelete заслуживает заслуживает медаль "почетный чмошник"), которых нужно будет наплодить большую навозную кучу вместо одного с одним единственным методом HasPermission, если права раздавать на определенное действие, а не по убогим ролям. Очередной зверский потуг тупой кухарки, которая более 10 формочек на сильверлайте не писала - в штатной role based security нет понятия permission, тупица. SeVaЧувствуешь разницу, чмо, между одним и сотнейлевых, мусорных классов, которые нужны только потому, что одна обезьяна научилась стучать по клавишам? Глупое феерическое уебище, откуда тут взялась сотня левых классов? Тут один интерфейс, который полностью описывает возможности программы и реализация этого интерфейса. Ко всему прочему, всё это работает на штатном провайдере ролей без единой строчки кода. Твоя тупость меня до сих пор поражает.каким боком canproductdelete(я просто прусь от этого названия) будет применим к договору, смете, накладной и тд? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2013, 11:49 |
|
Парсер
|
|||
---|---|---|---|
#18+
SeVa, так насчёт реализации HasPermission ? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2013, 11:51 |
|
Парсер
|
|||
---|---|---|---|
#18+
SeVaТвоя тупость меня до сих пор поражает.каким боком canproductdelete(я просто прусь от этого названия) будет применим к договору, смете, накладной и тд? Жжешь напалмом, кретинорылая обезьяна. Мало того, что ты сам выдумал canproductdelete и, вдобавок, прешься от него. Так еще и приплел сюда договор, сметe и накладную. Причем тут canproductdelete? У меня складывается ощущение, что ты находишься в прострации. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2013, 11:56 |
|
Парсер
|
|||
---|---|---|---|
#18+
Алексей КSeVaА в твоей системе безопасности есть дерево ролей? А я велосипеды не изобретаю, есть готовые реализации с возможностью подклчения к внешней бд с штатным расписанием, ролями могут быть должности или отделы и тд, настраиваем один раз разрешния, а исключения задаем отдельным пользователям.рисуем один интерфейс с одним методов и забывем об этом ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2013, 12:00 |
|
Парсер
|
|||
---|---|---|---|
#18+
МСУ Код: c# 1. 2. 3. 4. 5. 6. 7.
В одном месте реализации метода CanReportRemove своего SecurityService я описываю требуемую логику в соответствии с новыми правилами. P.S. Мил человек, я не выступаю противником новой абстракции (Rule). Тем более я сам когда-то в администраторе писал такую логику поверх мембершипа. Я просто тебе говорю, что в 99% случаях хватает обычных ролей. Если у тебя приложение-конструктор, поставленное на поток, возможно было бы неплохо реализовать возможность управления действиями (правилами) через крыжики UI. Чмо, это я придумал?обезьянка за клавиатурой может только стучать без разбора, а запомнить не в состоянии ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2013, 12:06 |
|
Парсер
|
|||
---|---|---|---|
#18+
SeVaАлексей Кпропущено... А в твоей системе безопасности есть дерево ролей? А я велосипеды не изобретаю, есть готовые реализации с возможностью подклчения к внешней бд с штатным расписанием, ролями могут быть должности или отделы и тд, настраиваем один раз разрешния, а исключения задаем отдельным пользователям.рисуем один интерфейс с одним методов и забывем об этомА в используемых тобой готовых реализациях есть дерево ролей? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2013, 12:07 |
|
Парсер
|
|||
---|---|---|---|
#18+
SeVaЧмо, это я придумал?обезьянка за клавиатурой может только стучать без разбора, а запомнить не в состоянии Дятел, мало того, что ты в зад долбишься, так еще и в глаза, оказывается. Разницу между CanReportRemove и canproductdelete видим? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2013, 12:09 |
|
Парсер
|
|||
---|---|---|---|
#18+
SeVaАлексей КА в твоей системе безопасности есть дерево ролей? А я велосипеды не изобретаю Role based security это не велосипед, а штатный функционал. На основе него даже доменные политики строятся, используя вместо ролей группы. Учи матчасть, бестолочь. SeVaесть готовые реализации с возможностью подклчения к внешней бд с штатным расписанием, ролями могут быть должности или отделы и тд, настраиваем один раз разрешния, а исключения задаем отдельным пользователям.рисуем один интерфейс с одним методов и забывем об этом Что за готовые реализации? И причем тут штатное расписание, отделы и должности? Ты лунный долбоеб просто Как кореллируют роли с штатными расписанием? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2013, 12:15 |
|
Парсер
|
|||
---|---|---|---|
#18+
Вот роли фейсбука: https://www.facebook.com/help/www/289207354498410 Менеджер, Создатель материалов, Модератор, Рекламодатель, Аналитик статистики За каждой ролью закрепляется набор действий. Например, Модератор может - Отвечать на комментарии и удалять их - Отправлять сообщения от имени Страницы - Создать Рекламные объявления - Просматривать Статистику Вопрос для долбосевы - причем тут штатное расписание, отделы, должности? На кой хер тут HasPermission? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2013, 12:21 |
|
Парсер
|
|||
---|---|---|---|
#18+
SeVaСапотски, попросите свенома сделать курсы по с# для полных лохов.пусть он вам за бабки обьясняет, что происходит при добавлении в список, и что нужно делать, чтобы этого не происходило.сам ты это не осилишь. Сева, на кой хер ты нужен на этом форуме если ты даже на элементарный вопрос ответить не можешь? Выбрось себя в форточку за ненадобностью! ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2013, 12:27 |
|
Парсер
|
|||
---|---|---|---|
#18+
SeVaАлексей Кпропущено... А в твоей системе безопасности есть дерево ролей? А я велосипеды не изобретаю, есть готовые реализации с возможностью подклчения к внешней бд с штатным расписанием, ролями могут быть должности или отделы и тд, настраиваем один раз разрешния, а исключения задаем отдельным пользователям.рисуем один интерфейс с одним методов и забывем об этом+100 Только наследственные идиоты лезут с совковой лопатой в свой говнокод, чтобы добавить роль. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2013, 12:28 |
|
Парсер
|
|||
---|---|---|---|
#18+
Долбосева, ты фейсбук тоже считаешь лапидарной системой? Безопасность фейсбука можно описать таким интерфейсом: Код: 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.
Это всевозможные действия. Далее создаем (с помощью штатной Role base security) сколь угодно ролей и прибиваем к ним конкретные действия из IFacebookSecurity. Всё. В результате у нас получается реализация этого интерфейса. P.S. Тупорылый долбосева, ты даже два слова связать не можешь, дибилоид. Ты даже на прямые вопросы участников дискуссии не в состоянии ответить. В чем суть твоего участия тут, открой тайну? И да, не забудь убить себя об стену. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2013, 12:31 |
|
Парсер
|
|||
---|---|---|---|
#18+
AntonariyТолько наследственные идиоты лезут с совковой лопатой в свой говнокод, чтобы добавить роль. ... сказал опытный сантехник, который недавно с базовыми вещами ado.net научился работать ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2013, 12:34 |
|
Парсер
|
|||
---|---|---|---|
#18+
МСУДолбосева, ты фейсбук тоже считаешь лапидарной системой?Да, фейсбук и прочие социалки это лапидарные системы с количеством действий, которое можно сосчитать на пальцах. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2013, 12:38 |
|
Парсер
|
|||
---|---|---|---|
#18+
AntonariyМСУДолбосева, ты фейсбук тоже считаешь лапидарной системой?Да, фейсбук и прочие социалки это лапидарные системы с количеством действий, которое можно сосчитать на пальцах. Так он другого ничего не видел, в силу своей тупости, считает, что этогодостаточно. Муслима, даже в lightswitch похерили membership за полной убогостью ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2013, 12:43 |
|
Парсер
|
|||
---|---|---|---|
#18+
МСУAntonariyТолько наследственные идиоты лезут с совковой лопатой в свой говнокод, чтобы добавить роль. ... сказал опытный сантехник, который недавно с базовыми вещами ado.net научился работать Что с того, любитель протухшего говна? Возьми ты инструмент хоть сто лет назад, как производил им кал, так и производишь. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2013, 12:44 |
|
Парсер
|
|||
---|---|---|---|
#18+
AntonariyМСУДолбосева, ты фейсбук тоже считаешь лапидарной системой?Да, фейсбук и прочие социалки это лапидарные системы с количеством действий, которое можно сосчитать на пальцах. Твоё никчемное ламерское существование даже ногтя не стоят этих "лапидарных" систем, чудило А во-вторых, количество действий не статично по мере развития системы. Сейчас их 10, завтра 30, послезавтра 50, потом 100. Какая разница? Все эти действия группируются в роли и управляются с помощью родных .NET провайдеров. Надо переключиться на доменную аутентификацию и авторизацию? Не проблема, создаем роли (группы) в Active Directory и всё будет работать как и раньше. Ни строчки кастомного кода, всё штатно. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2013, 12:49 |
|
Парсер
|
|||
---|---|---|---|
#18+
SeVaAntonariyпропущено... Да, фейсбук и прочие социалки это лапидарные системы с количеством действий, которое можно сосчитать на пальцах. Так он другого ничего не видел, в силу своей тупости, считает, что этогодостаточно. Муслима, даже в lightswitch похерили membership за полной убогостью Причем тут membership? RBAC - это не мембершип, бестолочь. AntonariyМСУпропущено... ... сказал опытный сантехник, который недавно с базовыми вещами ado.net научился работать Что с того, любитель протухшего говна? Возьми ты инструмент хоть сто лет назад, как производил им кал, так и производишь. А с того, что ты такой же беспонтовый ушлепок типо долбосевы, КПД от которых 0%. И с этим согласится большинство участников. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2013, 12:51 |
|
Парсер
|
|||
---|---|---|---|
#18+
МСУВсе эти действия группируются в роли и управляются с помощью родных .NET провайдеров. Помешивая говнокод лопатой. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2013, 12:55 |
|
Парсер
|
|||
---|---|---|---|
#18+
МСУSeVaпропущено... Так он другого ничего не видел, в силу своей тупости, считает, что этогодостаточно. Муслима, даже в lightswitch похерили membership за полной убогостью Причем тут membership? RBAC - это не мембершип, бестолочь. Antonariyпропущено... Что с того, любитель протухшего говна? Возьми ты инструмент хоть сто лет назад, как производил им кал, так и производишь. А с того, что ты такой же беспонтовый ушлепок типо долбосевы, КПД от которых 0%. И с этим согласится большинство участников. Чмо, опять начинает хаотично прыгать с ветки на ветку.в сад, убожество ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2013, 12:55 |
|
Парсер
|
|||
---|---|---|---|
#18+
AntonariyМСУВсе эти действия группируются в роли и управляются с помощью родных .NET провайдеров. Помешивая говнокод лопатой. По делу будет чего? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2013, 12:55 |
|
Парсер
|
|||
---|---|---|---|
#18+
SeVaЧмо, опять начинает хаотично прыгать с ветки на ветку.в сад, убожество Что там про парсинг html через XmlReader? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2013, 12:56 |
|
Парсер
|
|||
---|---|---|---|
#18+
LightSwitch - эталон современных систем P.S. Долбосева, не задумывался, почему тебя чмырят в каждом топике? Потому что ты бесполезное форумное говно, от которого нету толка. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2013, 12:58 |
|
Парсер
|
|||
---|---|---|---|
#18+
МСУAntonariyпропущено... Помешивая говнокод лопатой. По делу будет чего?Тебе говна на тарелку подкинуть? На . ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2013, 13:01 |
|
Парсер
|
|||
---|---|---|---|
#18+
SeVa, так что там с реализацией HasPermission ? Как устроена? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2013, 13:39 |
|
Парсер
|
|||
---|---|---|---|
#18+
Изопропилтак что там с реализацией HasPermission ? Как устроена? Ну ведь Код: c# 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2013, 14:20 |
|
Парсер
|
|||
---|---|---|---|
#18+
Нахлобуч, не катит. Его слова, что роли - УГ. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2013, 14:22 |
|
Парсер
|
|||
---|---|---|---|
#18+
МСУAntonariyТебе говна на тарелку подкинуть? На . Antonariy встретился на дороге и не уступает место Вот вся твоя сущностьНу надо же. Дурика научили пользоваться картинками, а ютубу он сам научился. Сенсация! Вот только не догадался, что видео, в отличии от картинки, целиком никто не увидит. Ибо смотреть целиком всякий бред будет только даун вроде муси. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2013, 14:28 |
|
Парсер
|
|||
---|---|---|---|
#18+
Antonariy, ты что-нибудь, кроме очередной порции говна, можешь родить? Нет? Тогда пнх. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2013, 14:37 |
|
Парсер
|
|||
---|---|---|---|
#18+
МСУНахлобуч, не катит. Его слова, что роли - УГ.Нивапрос: Код: c# 1. 2. 3. 4.
И теперь внимательно сравни с: Код: c# 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2013, 14:37 |
|
Парсер
|
|||
---|---|---|---|
#18+
МСУAntonariy, ты что-нибудь, кроме очередной порции говна, можешь родить? Нет? Тогда пнх.Роди еще кирпич, будь паинькой. У меня заказ от китайцев на стройматериалы для ремонта их стены. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2013, 14:40 |
|
Парсер
|
|||
---|---|---|---|
#18+
НахлобучМСУНахлобуч, не катит. Его слова, что роли - УГ.Нивапрос: Код: c# 1. 2. 3. 4.
И теперь внимательно сравни с: Код: c# 1. 2. 3. 4.
Некорректный пример: 1. Зачем тут какая-то левая сущность Authorities? 2. Чем она принципиально отличается от ролей? 3. IsInRole не в кассу, ибо вот с чем нужно сравнивать: Код: c# 1. 2. 3. 4.
4. Непонятно, почему у тебя Permission привязана к роли? Какой-то бред. Если на то пошло, это должны быть различные сущности. 5. В классическом RBAC привилегии не назначаются пользователям непосредственно, и приобретаются ими только через свою роль. 6. Вот реализация ISecurityService, которой хватит за глаза: Код: c# 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2013, 14:57 |
|
Парсер
|
|||
---|---|---|---|
#18+
AntonariyМСУAntonariy, ты что-нибудь, кроме очередной порции говна, можешь родить? Нет? Тогда пнх.Роди еще кирпич, будь паинькой. У меня заказ от китайцев на стройматериалы для ремонта их стены. Зачем мне тебя рожать? Проще макнуть тебя в очередной раз в помои и пнуть ногой под жопу. Ты форумный мусор. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2013, 14:58 |
|
Парсер
|
|||
---|---|---|---|
#18+
МСУAntonariyпропущено... Роди еще кирпич, будь паинькой. У меня заказ от китайцев на стройматериалы для ремонта их стены. Зачем мне тебя рожать? Проще макнуть тебя в очередной раз в помои и пнуть ногой под жопу. Ты форумный мусор.Хорошая животинка, послушная. Главное подход найти. Давай еще, китайцам нравится твой продукт. Дешево и сердито ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2013, 15:02 |
|
Парсер
|
|||
---|---|---|---|
#18+
МСУНекорректный пример:Ну начинается. МСУ1. Зачем тут какая-то левая сущность Authorities?Тебе же роли не понравились, вот и пришлось придумать. МСУ2. Чем она принципиально отличается от ролей?Ничем. МСУ3. IsInRole не в кассу, ибо вот с чем нужно сравнивать: Код: c# 1. 2. 3. 4.
Весь твой хваленый Мембершип на IsInRole держится . И раз на то пошло, то покажи-ка свою реализацию, скажем, User.IsManager. МСУ4. Непонятно, почему у тебя Permission привязана к роли ? Какой-то бред. Если на то пошло, это должны быть различные сущности. 5. В классическом RBAC привилегии не назначаются пользователям непосредственно, и приобретаются ими только через свою роль .Сам себе противоречишь. И кто "это" (4) должны быть разными сущностями? У меня, заметь, именно так (5) и сделано, как в "классическом RBAC". МСУ6. Вот реализация ISecurityService, которой хватит за глаза: Код: c# 1. 2. 3. 4.
Повторюсь -- жажду видеть реализацию User.IsAdmin или User.IsManager ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2013, 15:13 |
|
Парсер
|
|||
---|---|---|---|
#18+
НахлобучНу начинается. Ну почему начинается, сказал по факту, 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2013, 15:23 |
|
Парсер
|
|||
---|---|---|---|
#18+
AntonariyМСУпропущено... Зачем мне тебя рожать? Проще макнуть тебя в очередной раз в помои и пнуть ногой под жопу. Ты форумный мусор.Хорошая животинка, послушная. Главное подход найти. Давай еще, китайцам нравится твой продукт. Дешево и сердито Чудесное тупорылое тельце, знатное. Китайцы даже не представляют, что творится у них за спиной. Дорого и качественно ...учусь писать код ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2013, 15:26 |
|
Парсер
|
|||
---|---|---|---|
#18+
МСУНахлобучНу начинается. Ну почему начинается, сказал по факту, as is. НахлобучТебе же роли не понравились, вот и пришлось придумать. Попахивает детским садом. Я надеялся на конструктивный диалог, а ты скачешь как макака среди пальм. НахлобучНичем. Ну а зачем ты эфир засоряешь? НахлобучВесь твой хваленый Мембершип на IsInRole держится . И раз на то пошло, то покажи-ка свою реализацию, скажем, User.IsManager. Я десятый раз говорю, причем тут мембершип? Речь о RBAC. Какая реализация будет - мембершип, сипмл, active directory и т.д., не суть. Я тебе высказал своё видение, что для 99% задач хватает просто ролей. Как решать задачи с экшенами (рулами, пермиссиями - всё одно) я тоже написал. Привел пример сервиса пермиссий для фейсбука на основе реальных политик. Что еще надо? Нахлобучпропущено... Сам себе противоречишь. Где ты увидел противоречие? У меня классический RBAC, значит приобретаются ими только через роль. У тебя кастом, поэтому с чего бы вдруг привилегиям назначаться через роли? Ты же сам утверждал, что их можно отключать и включать в любое время и как угодно крутить ими. Следовательно, причем тут роли? У тебя какая-то каша получается. НахлобучУ меня, заметь, именно так (5) и сделано, как в "классическом RBAC". Нет. У тебя кастом. НахлобучПовторюсь -- жажду видеть реализацию User.IsAdmin или User.IsManager Я тебе уже сказал, мембершип тут непричем. Как ты наполнишь роли, так и поплывет безопасность. Код: c# 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2013, 15:27 |
|
Парсер
|
|||
---|---|---|---|
#18+
МСУ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.
Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2013, 15:29 |
|
Парсер
|
|||
---|---|---|---|
#18+
VIT2708, Задав простой вопрос и получил 7!!!! страниц в основном срача и прочего. Офигеть!!!!!! ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2013, 15:31 |
|
Парсер
|
|||
---|---|---|---|
#18+
Долбосева, это лучший ответ. Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2013, 15:31 |
|
Парсер
|
|||
---|---|---|---|
#18+
Нахлобуч, что ты будешь делать, если пермиссия - вычисляемое значение. Зависит, к примеру, от текущей даты и возраста пользователя. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2013, 15:40 |
|
Парсер
|
|||
---|---|---|---|
#18+
ViPRosмолчать, блин! А почему роли захардкожены? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2013, 15:44 |
|
Парсер
|
|||
---|---|---|---|
#18+
ViPRosМСУ, как это? Иконка с желтым плюсиком везде есть, а у ролей отсутствует. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2013, 15:48 |
|
Парсер
|
|||
---|---|---|---|
#18+
ааа ты про разработчика и т.д. ну эти фиксированные а все что вы обсуждаете - в макроклассификаторе и в их методах и данных, т.е. справа ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2013, 15:49 |
|
Парсер
|
|||
---|---|---|---|
#18+
а там + внизу желтый плюс позволяет выбрать из многих через формы, а роли просто добавяляются - это простая запись ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2013, 15:50 |
|
Парсер
|
|||
---|---|---|---|
#18+
Муфлончик, твой currentuser - это и есть детский сад без знания основ.для этих целей изначально предназначен iprincipal.вместо левой и никчемной педали есть возможность поддержки модели безопасности net, расширения функционала за счет дополнительных свойств и методов, плюс полная независимость от деталей реализации.я тебе об этом говорил еще десять лет назад, а ты только тупо гигикал и пускал слюни.за это время стал только дубовей и наглее ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2013, 15:52 |
|
Парсер
|
|||
---|---|---|---|
#18+
Ассоциированные пользователи - это пользователи БД СКЛ сервера, а не ВИПРОСа ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2013, 15:52 |
|
Парсер
|
|||
---|---|---|---|
#18+
Ясно. Ну я про это писал уже, если ты пишешь систему для рынка, то имеет смысл использовать динамику. Если под ключ пишешь для своей конторы, с головой хватит только ролей. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2013, 15:53 |
|
Парсер
|
|||
---|---|---|---|
#18+
SeVaМуфлончик, твой currentuser - это и есть детский сад без знания основ.для этих целей изначально предназначен iprincipal.вместо левой и никчемной педали есть возможность поддержки модели безопасности net, расширения функционала за счет дополнительных свойств и методов, плюс полная независимость от деталей реализации.я тебе об этом говорил еще десять лет назад, а ты только тупо гигикал и пускал слюни.за это время стал только дубовей и наглее Глупенькая обезьяна, IPrincipal - это базовая абстракция, у которой нет даже списка ролей, не говоря уже об остальной вспомогательной информации. И за роли IPrincipal не отвечает. С ролями работает штатный RoleProvider с переопределенным методом GetRolesForUser. Опять ты поливаешь напалмом, бестолочь Провайдер ролей одной строчкой подключается в конфиге и всё штатно работает без велосипедов, которыми усыпано твое больное воображение: Код: xml 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2013, 16:03 |
|
Парсер
|
|||
---|---|---|---|
#18+
МСУ, раз уж написал там где права на макроклассификатор присутствуют два вида фильтров на макротип для заданной роли 1. Просто произвольный фильтр (проекция макротипа по точке входа - головному типу) 2. Структурный фильтр (если тип граф, то на него налагается фильтр отсекающий подграф - типа может работать только с отдельным цехом, участком, проектом, программой и т.д.) там же можно редактировать внешний вид формы для макротипа для роли ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2013, 16:04 |
|
Парсер
|
|||
---|---|---|---|
#18+
Сахават, да не вопрос. Платформенные системы не обсуждаются в данном контексте, успокойся :) ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2013, 16:09 |
|
Парсер
|
|||
---|---|---|---|
#18+
МСУ, усе молчу тем более тут на сабантуй зовут :) ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2013, 16:16 |
|
Парсер
|
|||
---|---|---|---|
#18+
МСУ...учусь писать кодБросай, не для тебя это дело. Кал на входе, кал на выходе. Давай еще кирпичей, на большее ты не годен. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2013, 16:26 |
|
Парсер
|
|||
---|---|---|---|
#18+
VIT2708VIT2708, Задав простой вопрос и получил 7!!!! страниц в основном срача и прочего. Офигеть!!!!!!Это называется "эффект МСУ". ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2013, 16:26 |
|
Парсер
|
|||
---|---|---|---|
#18+
МСУSeVaМуфлончик, твой currentuser - это и есть детский сад без знания основ.для этих целей изначально предназначен iprincipal.вместо левой и никчемной педали есть возможность поддержки модели безопасности net, расширения функционала за счет дополнительных свойств и методов, плюс полная независимость от деталей реализации.я тебе об этом говорил еще десять лет назад, а ты только тупо гигикал и пускал слюни.за это время стал только дубовей и наглее Глупенькая обезьяна, IPrincipal - это базовая абстракция, у которой нет даже списка ролей, не говоря уже об остальной вспомогательной информации. И за роли IPrincipal не отвечает. С ролями работает штатный RoleProvider с переопределенным методом GetRolesForUser. Опять ты поливаешь напалмом, бестолочь Провайдер ролей одной строчкой подключается в конфиге и всё штатно работает без велосипедов, которыми усыпано твое больное воображение: Код: xml 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2013, 16:27 |
|
Парсер
|
|||
---|---|---|---|
#18+
МСУSeVaМуфлончик, твой currentuser - это и есть детский сад без знания основ.для этих целей изначально предназначен iprincipal.вместо левой и никчемной педали есть возможность поддержки модели безопасности net, расширения функционала за счет дополнительных свойств и методов, плюс полная независимость от деталей реализации.я тебе об этом говорил еще десять лет назад, а ты только тупо гигикал и пускал слюни.за это время стал только дубовей и наглее Глупенькая обезьяна, IPrincipal - это базовая абстракция, у которой нет даже списка ролей, не говоря уже об остальной вспомогательной информации. И за роли IPrincipal не отвечает. С ролями работает штатный RoleProvider с переопределенным методом GetRolesForUser. Опять ты поливаешь напалмом, бестолочь Провайдер ролей одной строчкой подключается в конфиге и всё штатно работает без велосипедов, которыми усыпано твое больное воображение: Код: xml 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2013, 16:28 |
|
Парсер
|
|||
---|---|---|---|
#18+
МСУSeVaМуфлончик, твой currentuser - это и есть детский сад без знания основ.для этих целей изначально предназначен iprincipal.вместо левой и никчемной педали есть возможность поддержки модели безопасности net, расширения функционала за счет дополнительных свойств и методов, плюс полная независимость от деталей реализации.я тебе об этом говорил еще десять лет назад, а ты только тупо гигикал и пускал слюни.за это время стал только дубовей и наглее Глупенькая обезьяна, IPrincipal - это базовая абстракция, у которой нет даже списка ролей, не говоря уже об остальной вспомогательной информации. И за роли IPrincipal не отвечает. С ролями работает штатный RoleProvider с переопределенным методом GetRolesForUser. Опять ты поливаешь напалмом, бестолочь Провайдер ролей одной строчкой подключается в конфиге и всё штатно работает без велосипедов, которыми усыпано твое больное воображение: Код: xml 1. 2. 3. 4. 5. 6.
Это только у убогих провайдер от мембершипа.разработчики net предоставили интерфес, те кто в танке будут создавать свои реализации, а уроды будут лепить currenteser, посмотри хотя бы раз документацию, да выясни, что из себя представляет httpcontext.user, унылое чмо. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2013, 16:40 |
|
Парсер
|
|||
---|---|---|---|
#18+
SeVaЭто только у убогих провайдер от мембершипа.разработчики net предоставили интерфес, те кто в танке будут создавать свои реализации, а уроды будут лепить currenteser, посмотри хотя бы раз документацию, да выясни, что из себя представляет httpcontext.user, унылое чмо. Тебе, случаем, еще не снится мембершип? Для обезьянок сообщаю, провайдер ролей никаким образом к мембершипу не относится. Учи матчасть, бестолочь. У меня, вообще, виндовая аутентификация и текущий HttpContext.User является экземпляром System.Security.Principal.WindowsPrincipal. И лезть дальше WindowsPrincipal > ClaimsPrincipal > IPrincipal вообще не имеет смысла, т.к. всё уже инициализировано. Остается подключить провайдер ролей и использовать штатный RBAC. Либо ничего не подключать, в качестве ролей будут браться доменные группы. Всё. Какой мембершип, дурень ты косожопый? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2013, 16:47 |
|
Парсер
|
|||
---|---|---|---|
#18+
А CurrentUser нужен только для ISecurityService, в котором удобно располагается необходимая информация. По сути некий контейнер пользовательской статистики, которая может понадобиться для реализации привилегий. CurrentUser не имеет ничего общего с IPrincipal в принципе, и не должен иметь. Дальше, чем ISecurityService, он нигде не используется за ненадобностью. Долбосева, ты тупое чудовище, у которого отсутствует голова. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2013, 16:53 |
|
Парсер
|
|||
---|---|---|---|
#18+
МСУА CurrentUser нужен только для ISecurityService, в котором удобно располагается необходимая информация. По сути некий контейнер пользовательской статистики, которая может понадобиться для реализации привилегий. CurrentUser не имеет ничего общего с IPrincipal в принципе, и не должен иметь. Дальше, чем ISecurityService, он нигде не используется за ненадобностью. Долбосева, ты тупое чудовище, у которого отсутствует голова. Те поверх одного убожества лепим кизяк своего замеса, что он может из представлять ты прекрасно продемонстрировал в своем администраторе(еще одна пенка с названием), вместо нормальных средств, где все уже решено без твоих кривых педалей. Место, которым ты привык думать, больше ничего пукнуть не может? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2013, 17:55 |
|
Парсер
|
|||
---|---|---|---|
#18+
SeVa, MCY Неужели вам интересен этот спор? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2013, 18:12 |
|
Парсер
|
|||
---|---|---|---|
#18+
VIT2708SeVa, MCY Неужели вам интересен этот спор? Давно бы уж "мылом" обменялись и переписывались... Аки Троцкий с Каутским ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2013, 18:14 |
|
|
start [/forum/topic.php?all=1&fid=20&tid=1404236]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
53ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
140ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 256ms |
0 / 0 |