Размещение атрибута [Authorize]
на контроллере - это, по сути, ярлык для включения его в каждое действие, поэтому ваш код логически эквивалентен
// No [Authorize] here
public class TestController : Controller
{
[Authorize]
public ActionResult Index()
{
// code here...
}
[Authorize]
public ActionResult Test()
{
// code here...
}
}
Вы, вероятно, можете видеть, куда я иду с этим - удалите атрибут из контроллера и поместите его в конкретные действия, которые вы хотите ограничить:
// No [Authorize] here
public class TestController : Controller
{
[Authorize]
public ActionResult Index()
{
// code here...
}
// no [Authorize] here either, so anonymous users can access it...
public ActionResult Test()
{
// code here...
}
}