0
我的MVC 5申請的HomeController的具有[授權]屬性授權上的HomeController力屬性登錄使用AllowAnonymous控制器上
[Authorize]
public class HomeController : Controller
的SimpleController是跟隨着(一個簡單的試驗):
[AllowAnonymous]
public class SimpleController : Controller
{
// GET: Simple
public ActionResult Index()
{
return View();
}
}
當我直接瀏覽到http://url/simple/index時,爲什麼我必須登錄?
我必須額外的「強制認證代碼」或過濾器註冊。
當我刪除[授權]在HomeController中,該SimpleController正常工作,而無需登錄
授權對一個控制器的要求與另一個控制器無關。但是,只有在添加了[Authorize]時才需要'[AllowAnonymous]'。如果控制器或操作不需要認證,請刪除'[AllowAnonymous]'屬性。 –
我知道,但奇怪的是,當我刪除HomeController上的[Authorize]時,SimpleController工作正常,無需登錄。 – Filip
您在調用的HomeController中是否有任何子操作?在'SimpleController'的視圖中?所有的孩子行爲都應該沒有'[Authorize]',或者如果他們在裝有'[Authorize]'的控制器中,應該用'[AllowAnonymous]'裝飾。任何兒童行爲都不應*需要*授權。它必須始終是可選的。 –