Благодаря обучению я освоил два метода управления анонимным доступом к веб-сайту: один реализуется через IIS, а другой — через ASP.NET. Лично я считаю, что нет никакой разницы между двумя в основном достижимыми функциями, но той, которая реализована через ASP.NET, проще управлять и поддерживать.
Реализация через IIS относительно ясна. Вы можете установить права доступа для папки или одного файла (страницы). IIS предоставляет методы настройки «безопасности каталога» и «безопасности файла». И вы можете напрямую устанавливать разрешения для разных посетителей. Среди них предусмотрены анонимные методы контроля доступа, которые здесь не будут подробно описываться.
Метод управления ASP.NET:
сначала представим эффект примера. После входа на веб-сайт информация о пользователе может быть сохранена в файле cookie и идентифицировать пользователя как аутентифицированного. При доступе к другим страницам личность пользователя может быть проверена напрямую. Вынесите решение, и если оно пройдет, вы сможете продолжить доступ к странице. Если это пользователь с анонимным доступом, не прошедший проверку (то есть пользователь, не вошедший в систему), он перейдет на страницу входа. чтобы предложить пользователю войти в систему. Сделайте одну из страниц регистрации пользователей доступной анонимно, поскольку по бизнес-логике вы сможете войти только в том случае, если разрешите регистрацию.
На странице входа вы должны сначала проверить имя пользователя и пароль. Вы можете использовать метод сравнения с базой данных или проверки в AD. Затем используйте следующий метод, чтобы идентифицировать текущего пользователя в файле cookie как проверенного пользователя и перейти. на страницу, которую запросил пользователь, прежде чем перейти на целевую страницу.
FormsAuthentication.RedirectFromLoginPage(userName,createPersistentCookie)
Мы используем следующий метод для аутентификации пользователя на странице, непосредственно запрошенной пользователем.
Context.User.Identity.IsAuthenticated
Контекст: получает объект System.Web.HttpContext, связанный со страницей.
Пользователь: получает или задает информацию безопасности для текущего HTTP-запроса.
Identity: получает идентификатор текущего пользователя.
IsAuthenticated: получает логическое значение, указывающее проверен ли пользователь
Затем делаем настройки безопасности в Web.config.
<authentication mode="Forms">
<forms loginUrl="Login.aspx"></forms>
</authentication>
"Forms" Вы предоставляете пользователям пользовательскую форму (веб-страницу) для ввода своих учетных данных, а затем в вашей проверке их личность в приложении. Токены учетных данных пользователя хранятся в файлах cookie.
<authorization>
<denyusers="?" />
</authorization>
Deny означает запрет,users="?" означает анонимных пользователей
<location path="NewUser.aspx">
<system.web>
<authorization>
<allowusers= "*" />
</authorization>
</system.web>
</location>
представляет новую страницу регистрации пользователя NewUser.aspx, доступ к которой может получить любой.
Это обеспечивает контроль доступа для анонимных пользователей.
Пример: Загрузите http://bear-study-hard.cnblogs.com/archive/2006/05/31/414134.html.