MVC работает так же, как ASP.NET.
Если вы используете проверку подлинности с помощью форм, вам ответят на многие из этих вопросов.
В вашей веб-конфигурации найдите строку с надписьюauthentication="Windows"
и затем измените его на Forms
<authentication mode="Forms">
<forms loginUrl="~/Account/LogOn" />
</authentication>
MVC 3 фактически даст вам маршрут Account / LogOn как часть проекта шаблона MVC 3 (проверьте ваши модели и посмотрите, есть ли у вас такойAccountModel
).
Затем вы просто добавляете Authorization
, чтобы запретить всем пользователям вашего сайта:
<authorization>
<deny users="?"/>
</authorization>
по умолчанию это отправит любого человека, заходящего на ваш сайт, на ваш логин.
Таким образом, после того, как вы проверили правильность учетных данных входа в систему, вы устанавливаете AuthCookie
так же, как ASP.NET:
FormsAuthentication.SetAuthCookie(userName, false);
Форма, которую вы можете перенаправить туда, гдехочу.
перенаправить обратно туда, откуда вы пришли:
FormsAuthentication.RedirectFromLoginPage(userName, false);
Не забывая другое полезное утверждение:
FormsAuthentication.SignOut();
Без аутентификации сайт не позволитвы входите куда угодно, пока не войдете в систему, поэтому CSSперестаньте работать.
Места, которые я добавил, чтобы убедиться, что этого не происходит, следующие:
<location path="Content">
<system.web>
<authorization>
<allow users="?"/>
</authorization>
</system.web>
</location>
<location path="Scripts">
<system.web>
<authorization>
<allow users="?"/>
</authorization>
</system.web>
</location>