У логики авторизации в конфигурационных файлах есть один большой недостаток: она не может быть легко проверена модулем, и что-то столь важное, как аутентификация , должно быть проверено модулем. В связи с этим я бы порекомендовал вам написать собственный фильтр авторизации, который можно использовать для украшения базового контроллера для всех действий администратора, требующих аутентификации:
[AttributeUsage(
AttributeTargets.Method | AttributeTargets.Class,
Inherited = true
)]
public class RequiresAuthenticationAttribute
: FilterAttribute, IAuthorizationFilter
{
public void OnAuthorization(AuthorizationContext filterContext)
{
if (!filterContext.HttpContext.User.Identity.IsAuthenticated)
{
filterContext.Result = new RedirectResult(
string.Format("{0}?ReturnUrl={1}",
FormsAuthentication.LoginUrl,
filterContext.HttpContext.Request.Url.AbsoluteUri
)
);
}
}
}
А твой админ контроллер:
[RequiresAuthentication]
public class AdminController : Controller
{
// .. some actions that require authorized access
}