powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / [MVC] Базовый контроллер
25 сообщений из 128, страница 5 из 6
[MVC] Базовый контроллер
    #38216143
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
модель доступа:

ПОЛЬЗОВАТЕЛЬ 1-* РОЛЬ

РОЛЬ 1-* ЭЛЕМЕНТ-ДОСТУПА

(для особо тяжелых случаев, тяжеловесных систем, странной и хитрой логикой)
ПОЛЬЗОВАТЕЛЬ 1-* ЭЛЕМЕНТ-ДОСТУПА


легенда: 1-* — один-ко-многим


задачи секьюрити:

1) дай мне все роли вот этого пользователя
2) дай мне всех пользователей с этой ролью
3) дай мне все элементы-доступа этой роли / этого пользователя
4) проверь есть ли роль у этого пользователя
5) проверь есть ли элемент-доступа у этой роли / этого пользователя
6........) добавление, изменение сущностей и связей между ними


ВСЁ!


и не надо пришивать к этой стройной самодостаточной логике что-то еще. проверку данных например. или 500 методов типа:

- можно ли пользователю записать продукт
- можно ли пользователю прочитать продукт
- можно ли пользователю отобразить продукт в списке
.......
потому что это неподерживаемое говнокодище. самое днище уродливых неподдерживаемых архитектур.
...
Рейтинг: 0 / 0
[MVC] Базовый контроллер
    #38216144
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУУ меня секьюрити отвечает на вопрос, может ли пользователь что-то сделать в рамках своих ролей и бизнес-требований. Всё. А решать может кто угодно - view, controller, dataservice, repository и т.д. Ты код каким местом читаешь, признавайся?

найди сам способ себе навредить. стена, мотыга, бензин, спички. с какого перепуга View и контроллер что-то решают? почему? why? ну я понимаю, что у тебя они решают. но зачееееееем???? кто позволил, блин!?
...
Рейтинг: 0 / 0
[MVC] Базовый контроллер
    #38216149
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttзадачи секьюрити:

1) дай мне все роли вот этого пользователя
2) дай мне всех пользователей с этой ролью
3) дай мне все элементы-доступа этой роли / этого пользователя
4) проверь есть ли роль у этого пользователя
5) проверь есть ли элемент-доступа у этой роли / этого пользователя
6........) добавление, изменение сущностей и связей между ними


ВСЁ!


и не надо пришивать к этой стройной самодостаточной логике что-то еще. проверку данных например. или 500 методов типа:

- можно ли пользователю записать продукт
- можно ли пользователю прочитать продукт
- можно ли пользователю отобразить продукт в списке
.......
потому что это неподерживаемое говнокодище. самое днище уродливых неподдерживаемых архитектур.

Неподерживаемое говнокодище в воспаленном воображении, а не в требованиях. Задача секьюрити на порядки шире и мощнее, чем ты тут из 6 пунктов расписал бред сивой кобылы. Требование бизнеса - в соотв. с ФЗ "О персональных данных" показывать такие-то колонки для таких-то ролей. Банальная задача, в которой по роли отстраивается UI. Это неподдерживаемая архитектура? Еще пример: для таких-то ролей давать на редактирование документы со статусом 3 и 5, при условии, что год дата документа - прошлогодний, а так же по документу были высланы в конкретные инстанции уведомления. Просто в силу своего скромного опыта ты не представляешь себе, какие сложные конструкции в разрезе секьюрити могут быть у бизнеса. За гавнокодище и уродливую архитектуру тебя просто уволят нахрен как ненужную бестолочь, которая много говорит, а сделать не может.
...
Рейтинг: 0 / 0
[MVC] Базовый контроллер
    #38216152
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttМСУУ меня секьюрити отвечает на вопрос, может ли пользователь что-то сделать в рамках своих ролей и бизнес-требований. Всё. А решать может кто угодно - view, controller, dataservice, repository и т.д. Ты код каким местом читаешь, признавайся?

найди сам способ себе навредить. стена, мотыга, бензин, спички. с какого перепуга View и контроллер что-то решают? почему? why? ну я понимаю, что у тебя они решают. но зачееееееем???? кто позволил, блин!?

Ты в вакууме? Я тебе 100500 раз твержу о том, что экшенфильтр не подойдет, т.к. вью должна отстраивать UI в разрезе секурити. И тут ты просыпаешься и задаешь этот идиотский вопрос. Жесть.

Отечаю на вопрос: razor в зависимости от привилегий юзера (для бронированных, привилегия - это не только роль) строит UI. Такой привилегии - такие колонки, такой привилегии - такие кнопки, такой привилегии - вот такую возможность.
...
Рейтинг: 0 / 0
[MVC] Базовый контроллер
    #38216154
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУСлушай, ты не только хреновый программист, ты еще и русский язык не знаешь.

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

попросил привести пример, когда базовый контроллер действительно решает какую-то задачу, которая не решается IDR/DI и аспектами. обеспечивания мастер-страниц данными? глобальный фильтр лучше подходит для этой роли. прокидывание ссылок на сервисы? вообще какая-то хрень.

вместо конкретного примера мы рассуждаем о том, как реализоваывать секьюрити и доступ к данным. при чем тут базовый контроллер? может на самом деле, ты к этому ведешь? давай сразу с конца? не будем заходить из далека. обещаю, что если увижу убедительный пример, соглашусь, что ты прав и спорить не буду.
...
Рейтинг: 0 / 0
[MVC] Базовый контроллер
    #38216155
MVC
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MVC
Гость
авторготовь эти данные в глобальном фильтре, суй их во ViewData
14147102 - поржал!!!
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
public class BaseController : Controller
{
  public BaseController()
  {
    List<string> manufacturers = new List<string>();
    manufacturers.Add("Ford");
    manufacturers.Add("Toyota");
    manufacturers.Add("Chevy");
    manufacturers.Add("Dodge");
    manufacturers.Add("Nissan");
    manufacturers.Add("Mazda");
    manufacturers.Add("Audi");

    ViewData["manufacturers"] = manufacturers;
  }
}

public class HomeController : BaseController


как бэ всё!

ИМХО спорящие тут о существовании жизни на марсе (её отсутствии!) вообще слабо представляют, что происходит за кулисами MVC в целом (ASP.NET MVC FW в частности)!!!

14147347 +100500!!!
...
Рейтинг: 0 / 0
[MVC] Базовый контроллер
    #38216157
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MVC,

бред. я добавлю один глобальный фильтр. а ты будешь каждый раз проверять не забыл ли ты отнаследоваться от своей базы.
утонченный мазохист.
...
Рейтинг: 0 / 0
[MVC] Базовый контроллер
    #38216158
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttя нигде не говорил, что обалдеть какое талантище и гуру в программировании.
Правильно, зачем ламеру такие регалии.

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

hVosttпопросил привести пример, когда базовый контроллер действительно решает какую-то задачу, которая не решается IDR/DI и аспектами. обеспечивания мастер-страниц данными? глобальный фильтр лучше подходит для этой роли. прокидывание ссылок на сервисы? вообще какая-то хрень.
Тебе привели примеры. Ты тычешь своими DI, которые как кобыле пятое колесо. Десятый раз говорю - экшен фильтр не решит задач секурити для отстраивания UI. Ты не понимаешь русского языка?

hVosttвместо конкретного примера мы рассуждаем о том, как реализоваывать секьюрити и доступ к данным. при чем тут базовый контроллер? может на самом деле, ты к этому ведешь? давай сразу с конца? не будем заходить из далека. обещаю, что если увижу убедительный пример, соглашусь, что ты прав и спорить не буду.
Убей себя.
...
Рейтинг: 0 / 0
[MVC] Базовый контроллер
    #38216160
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ,

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

МСУТебе привели примеры. Ты тычешь своими DI, которые как кобыле пятое колесо. Десятый раз говорю - экшен фильтр не решит задач секурити для отстраивания UI. Ты не понимаешь русского языка?

я пока не увидел реализацию задачи секурити для отстраивания UI, решенную на базовом контроллере. пока только жалкое блеяние в виде умных слов. пример в студию! и я тебя удивлю как это легко решится без БК. но если боишься слажать, можешь просто промолчать. я пойму, не переживай.
...
Рейтинг: 0 / 0
[MVC] Базовый контроллер
    #38216168
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MVCавторготовь эти данные в глобальном фильтре, суй их во ViewData
14147102 - поржал!!!
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
public class BaseController : Controller
{
  public BaseController()
  {
    List<string> manufacturers = new List<string>();
    manufacturers.Add("Ford");
    manufacturers.Add("Toyota");
    manufacturers.Add("Chevy");
    manufacturers.Add("Dodge");
    manufacturers.Add("Nissan");
    manufacturers.Add("Mazda");
    manufacturers.Add("Audi");

    ViewData["manufacturers"] = manufacturers;
  }
}

public class HomeController : BaseController


как бэ всё!

ИМХО спорящие тут о существовании жизни на марсе (её отсутствии!) вообще слабо представляют, что происходит за кулисами MVC в целом (ASP.NET MVC FW в частности)!!!

14147347 +100500!!!

На чем поржал, над своим непонимаение фильтров? Сам себе плюсы ставишь? )
ViewData выбрось на помойку.
...
Рейтинг: 0 / 0
[MVC] Базовый контроллер
    #38216172
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Имхо, вся тема - троллинг чистой воды, и не несет смысловой нагрузки
14147510
...
Рейтинг: 0 / 0
[MVC] Базовый контроллер
    #38216175
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttМСУ, а за пропихивание данных в конструкторе линеечкой и по-больней.
О как. А с каких это пор пропихивание данных в конструкторе стало запрещено? Я смотрю, у тебя одни запреты. Аргументы будут? Или опять пошуршать зашел?

hVosttя пока не увидел реализацию задачи секурити для отстраивания UI, решенную на базовом контроллере.
Я и не сомневался, что тебе нужно всё разжевывать и показывать.

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
@model ProductModel

@{ var security = (ViewContext.Controller as BaseController).Security; }

@using (Html.BeginForm())
{
    // ...  
 
    @if (security.HasProductDelete(model.Product))
    {
        <input type="submit" name="name" value="delete" />
    }
}



Можно экземпляр Security и в ProductModel вбить в контроллере, не принципиально.
...
Рейтинг: 0 / 0
[MVC] Базовый контроллер
    #38216176
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где-то в степи,

только вашей проницательности этой теме и не хватало :D
...
Рейтинг: 0 / 0
[MVC] Базовый контроллер
    #38216180
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Флейм, флейм, флейм!
...
Рейтинг: 0 / 0
[MVC] Базовый контроллер
    #38216181
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Серж, пора закрывать, или чистить.
...
Рейтинг: 0 / 0
[MVC] Базовый контроллер
    #38216186
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУМожно экземпляр Security и в ProductModel вбить в контроллере, не принципиально.

Разумеется, все что должно быть во вью это:

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
@model ProductModel

@using (Html.BeginForm())
{
    @if (Model.ShowDelete)
    {
        <input type="submit" name="name" value="delete" />
    }
}
...
Рейтинг: 0 / 0
[MVC] Базовый контроллер
    #38216190
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
@model ProductModel

@{ var security = (ViewContext.Controller as BaseController).Security; }

@using (Html.BeginForm())
{
    // ...  
 
    @if (security.HasProductDelete(model.Product))
    {
        <input type="submit" name="name" value="delete" />
    }
}



Узри же:

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
	public class SecurityFilter: IActionFilter
	{
		public void OnActionExecuting(ActionExecutingContext filterContext)
		{
			// ... 

			filterContext.Controller.ViewData["Security"] = new MySecurity();

			// ИЛИ ЛУЧШЕ ТАК

			filterContext.Controller.ViewData["Security"] = DependencyResolver.Current.GetService<ISecurity>();

			// ...
		}

		public void OnActionExecuted(ActionExecutedContext filterContext)
		{
		}
	}



Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
	public class FilterConfig
	{
		public static void RegisterGlobalFilters(GlobalFilterCollection filters)
		{
			// ...
			filters.Add(new SecurityFilter());
		}
	}



Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
@model ProductModel

@{ var security = (ISecurity)ViewData["Security"]; }

@using (Html.BeginForm())
{
    // ...  
 
    @if (security.HasProductDelete(model.Product))
    {
        <input type="submit" name="name" value="delete" />
    }
}



все, МСУ, давай досвидания . не нужно больше от тебя никаких примеров. вью лезет в контроллер, охренеть просто архитектура. все компоненты друг о друге знают, ппц. так что не надо себя убивать. живи. тебя из серьезной конторы за такое попросту погонят взашей. слишком много умных слов + чрезмерно раздутое ЧСВ, а в итоге сплошное дилетанство, ничего за умными словами не стоит.

можешь разродиться обезьянками, попробовать восстановить свое пошатнувшееся достоинство, но я от тебя уже ничего умного не жду, кроме потока изощренного хамства. я просил пример, убедительно доказывающий необходимость базового контроллера, а ты прислал унылое говнище, которое просто должно быть стыдно демонстрировать.
...
Рейтинг: 0 / 0
[MVC] Базовый контроллер
    #38216202
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ,

и последнее

авторО как. А с каких это пор пропихивание данных в конструкторе стало запрещено? Я смотрю, у тебя одни запреты. Аргументы будут? Или опять пошуршать зашел?

с тех, что в конструкторе ты конструируешь объект, и не делаешь ничего другого. НИЧЕГО. это конструктор, башка твоя тупая. почитай что такое конструктор, ё-ж-ты-моё... народ, как вы его еще терпите????

для этих целей есть Controller.Initialize Method

шуруй короче учить матчасть. что не кусок кода, то косяк. устал уже с тобой препираться.
...
Рейтинг: 0 / 0
[MVC] Базовый контроллер
    #38216203
MVC
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MVC
Гость
авторНа чем поржал, над своим непонимаение фильтров? Сам себе плюсы ставишь? )
ViewData выбрось на помойку.
а их (фильтры) нужно понимать?! ;)))
любой метод контроллера вызванный с фильтром создаст ещё один класс - класс фильтра! (о боже сколько же их у тебя о великий БГ - дай нам компы помощнее!)
Код: c#
1.
2.
public class MasterPageAttribute : ActionFilterAttribute
{}


Код: c#
1.
2.
3.
[MasterPage]
public ActionResult Index()
{}


===
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
public class Home : Controller
{
private ActionFilterAttribute _MasterPage;
public Home()
  {
    _MasterPage = new MasterPageAttribute()
  }
public ActionResult Index()
{
_MasterPage.сделайЧтоНибудь();
}
}


всё это будет приправлено какой-нибудь скоростной рефлексией и хз чем ещё!!!

и ты мне предлагаешь это быдлорешение в качестве альтернативы ООП наследования ?!
ПыСы: ViewData - можно назвать супердата (или как тебе угодно) - по сути - это коллекция ключ-значение, как и все последующие конгениальные решения, отменяющие её (коллекцию ключ-значение)!!!
...
Рейтинг: 0 / 0
[MVC] Базовый контроллер
    #38216207
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MVC,

авторлюбой метод контроллера вызванный с фильтром создаст ещё один класс - класс фильтра! (о боже сколько же их у тебя о великий БГ - дай нам компы помощнее!)

а здесь вообще занавес........... ИДИ УЧИ МАТЧАСТЬ!!!!!!!! УЧИ МАТЧАСТЬ! ТЫ НЕПРАВ )))))))

ааааааааааааааааа... закрывайте топик плииииз.. тут слишком много ГЕНИЯ МСУ.
...
Рейтинг: 0 / 0
[MVC] Базовый контроллер
    #38216208
MVC
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MVC
Гость
автора здесь вообще занавес........... ИДИ УЧИ МАТЧАСТЬ!!!!!!!! УЧИ МАТЧАСТЬ! ТЫ НЕПРАВ )))))))
а ты попробуй стукнуться головой в монитор - оно всё и погаснет!!! ;)
...
Рейтинг: 0 / 0
[MVC] Базовый контроллер
    #38216212
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MVC,

ты несешь ---ню. откровенно незнаешь что такое фильтры и как они работают. да что уж там, не знаешь как вообще работают атрибуты. "метод контроллера вызванный с фильтром создаст ещё один класс - класс фильтра" . эт ж надо так тупануть.
...
Рейтинг: 0 / 0
[MVC] Базовый контроллер
    #38216213
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MVCи ты мне предлагаешь это быдлорешение в качестве альтернативы ООП!

Если ты уже почитал пару букварей на тему ООП, то должен был понять, что сама конструкция контроллера, это больше процедурный подход )
MVCViewData - можно назвать супердата (или как тебе угодно) - по сути - это коллекция ключ-значение, как и все последующие конгениальные решения, отменяющие её (коллекцию ключ-значение)!!!
Копай в сторону типизированых вью, ты ведь про ООП там что то заливать начал :)
...
Рейтинг: 0 / 0
[MVC] Базовый контроллер
    #38216226
MVC
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MVC
Гость
14147644

мухаха!!! в .NET заговорили про процедурный подход?!
ну давай - режь правду-матку - человек, прочитавший три книги по ООП!!!
чё там с контроллером и "больше процедурным подходом" (C)?
авторКопай в сторону типизированых вью, ты ведь про ООП там что то заливать начал :)
любую коллекцию можно прочитать рекурсивно! для этого не нужно магии в виде TYPED!!!

ИМХО правильно вам БГ мозг проливает!!! пока есть вы, остальным них... не страшно (PHP, ROR and etc.)
...
Рейтинг: 0 / 0
25 сообщений из 128, страница 5 из 6
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / [MVC] Базовый контроллер
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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