У меня есть веб-сайт ASP.Net MVC 4. Когда я запустил этот сайт, у меня не было никакого опыта работы с веб-программированием, и я не верю, что я правильно его настроил.Предотвращение доступа к странице на основе аутентификации
У меня есть страницы, такие как дома, Логин, Register, который я считаю общественности, страницы, как, VerifyPIN и AccountCreated, которые я считаю внутренние и страницы, такие как панель управления и профиля, которые являются частными.
Я чувствую публичные страницы должны быть доступны анонимными пользователями, но Логин и регистрация не должен быть доступны как только пользователем в.
Внутренних страниц я хочу быть доступны только на сервере редирект и никогда не через браузер, aka Я не хочу, чтобы пользователь мог набирать текст на www.MySite.com/AccountCreated.
И частные страницы предназначены только для зарегистрированных пользователей.
У меня есть личные страницы, работающие нормально, но я не знаю, как ограничить доступ к другим страницам, как описано выше. Возможно, мое представление о том, чтобы не разрешить зарегистрированному пользователю доступ к странице входа в систему, не найден.
Мой сайт относительно невелик из-за характера ajax сайта. Я использую [AllowAnonymous] на всех общедоступных страницах, но затем зарегистрированный пользователь все равно может получить к ним доступ, и я не уверен, как это предотвратить.
Мои вопросы,
Как я могу запретить пользователю доступ к странице с помощью адресной строки (www.MySite.com/AccountCreated)
Как я могу предотвратить доступ к [ AllowAnonymous] страница один раз пользователь вошел в систему.
EDIT
Нормально ли предотвратить доступ пользователей к определенным анонимным страницам, например, вход в систему?
Каков сценарий использования AccountCreated, является ли это действием или просто методом на контроллере? – Bond
Его действия. Это страница, которая отображается после успешной регистрации, информируя пользователя о отправляемом электронном письме для проверки новой учетной записи. – Zholen