Mam prostą aplikację ASP.Net MVC 3, która ma trochę kontrolera i kilka dobrych akcji.ASP.Net MVC 3: Inverse Authorize Attribute
Teraz, ponieważ jest to aplikacja oparta na użytkownikach, większość działań kontrolera wymaga uwierzytelnienia użytkownika. MVC radzi sobie z tym dobrze dzięki wbudowanemu atrybutowi Authorize, który można wykorzystać do dekorowania kontrolerów i/lub działań indywidualnie.
Wspaniałą rzeczą jest to, można zastosować atrybut tylko sterownik i wszystkie działania dla tej danej kontroler będzie miał on stosowany zbyt - Dużo pisania zbawiony;)
Ale mam jeden kontroler z, powiedzmy, 10 działań. Ale chcę, aby jedna z akcji nie zastosowała atrybutu Authorize.
Tak, mógłbym zastosować atrybut do pozostałych 9 i usunąć go ze sterownika, który zrobi dokładnie to, czego potrzebuję. Ale czy istnieje sposób, aby utrzymać to zastosowanie do kontrolera i po prostu wybrać wyłączenie jednego z działań?
Skutecznie, chciałby coś takiego ...
[!Authorize]
lub [NotAuthorize]
wiem mogę utworzyć jeden niestandardowy, który będzie wykonać zadanie, ale to, co chcę wiedzieć, czy jest wbudowany - w jaki sposób to zrobić? lub czy muszę zastosować atrybut do wszystkich 9 innych działań?