ASP.NET MVC 2 - Как переопределить аннотацию для одного действия контроллера? - PullRequest
0 голосов
/ 15 июля 2010

У меня есть BaseController, от которого наследуются все контроллеры.CaseController имеет аннотацию [Authorize], поэтому для всех контроллеров требуется авторизация.

Но я только что понял, что одно действие контроллера не должно требовать авторизации.Как я могу отключить [Authorize] только для этого одного действия контроллера?

using System.Web.Mvc;
using Unleashed.Service.Interfaces;

namespace Controllers
{
    [Authorize]
    [RequireHttps]
    public class BaseController : Controller
    {
    }
} 

И действие контроллера вызывается через POST с другого сайта.Они авторизуются, передавая токен.Они не будут авторизованы через аутентификацию форм.

[Authorize=false] // doesnt compile
[Authorize(false)] // doesnt compile
public ActionResult DoSomething(string token, string data)
{
}

1 Ответ

0 голосов
/ 15 июля 2010

Решено путем создания нового контроллера, который не наследуется от BaseController, и добавления действия к этому контроллеру. Теперь это одно действие не требует авторизации, и все существующие действия остаются как есть.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...