На основании вашего ответа в комментариях под вопросом:
«они идут в myapp.mydomian.com войти, вот первую страницу, что они должны увидеть»
Правильный способ заставить пользователей всегда использовать для входа в приложение, использовать атрибут System.Web.Mvc.Authorize
.
Не пытайтесь переписывать правила или беспорядок с помощью маршрутов или диск из вашего файла web.config
<authorize>
элемент конфигурации.
Принимая шаблон MVC Internet Application в качестве примера, у нас есть два контроллера:
- AccountController
- HomeController
Если мы хотим обеспечить только некоторые части вашего приложения MVC, то вам d украсить каждый класс контроллера атрибутом [Authorize]
. Например:
[Authorize]
public class HomeController : Controller
{
....
}
Однако это довольно утомительно, если вы хотите обеспечить безопасность каждого контроллера. Вместо этого вы можете сделать это глобально, добавив строку в свой статический метод RegisterGlobalFilters
, который находится в классе FilterConfig
. Этот класс находится в папке App_Start
вашего проекта (FilterConfig.cs
).
Открыть этот файл и убедитесь, что вы добавить следующую строку в RegisterGlobalFilters
статический метод:
filters.Add(new AuthorizeAttribute());
Например:
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
filters.Add(new HandleErrorAttribute());
filters.Add(new AuthorizeAttribute()); // <-- Add me
}
Также убедитесь, что в вашем web.config
файл под вашим system.web
разделе у вас есть:
<authentication mode="Forms">
<forms loginUrl="~/Account/Login" timeout="2880" />
</authentication>
Из коробки он должен быть таким же образом настроен.
Для получения дополнительной информации Вы Распознать:
http://www.davidhayden.me/blog/asp.net-mvc-4-allowanonymous-attribute-and-authorize-attribute
Чтобы использовать приложение на этот адрес - 'myapp.mydomain.com' - у пользователей должны войти в первую? – Kev
они отправляются на myapp.mydomian.com для входа в систему, это первая страница, которую они должны увидеть – laitha0