학습을 통해 웹 사이트에 대한 익명 액세스 제어를 달성하는 두 가지 제어 방법을 마스터했습니다. 하나는 IIS를 통해 구현되고 다른 하나는 ASP.NET을 통해 구현됩니다. 개인적으로 기본적으로 달성 가능한 두 기능 사이에는 차이가 없다고 생각하지만 ASP.NET을 통해 구현된 기능이 관리 및 유지 관리가 더 쉽습니다.
IIS를 통한 구현은 비교적 명확합니다. 폴더 또는 단일 파일(페이지)에 대한 액세스 권한을 설정할 수 있습니다. IIS는 "디렉터리 보안" 및 "파일 보안" 설정 방법을 제공합니다. 그리고 다양한 방문자의 권한을 직접 설정할 수도 있습니다. 그 중 익명 접근 제어 방법이 제공되는데 여기서는 자세히 설명하지 않겠습니다.
ASP.NET 제어 방식:
먼저 예제의 효과를 소개합니다. 웹 사이트에 로그인한 후 사용자 정보가 쿠키에 저장되고, 다른 페이지에 접속할 때 사용자의 신원을 직접 확인할 수 있습니다. 판단하여 통과하면 해당 페이지에 계속 접속할 수 있습니다. 검증을 통과하지 못한 익명 접속 사용자(즉, 로그인하지 않은 사용자)라면 로그인 페이지로 점프하게 됩니다. 사용자에게 로그인하라는 메시지를 표시합니다. 비즈니스 로직에 따라 등록을 허용한 경우에만 로그인할 수 있으므로 사용자 등록 페이지 중 하나에 익명으로 액세스할 수 있도록 설정하십시오.
로그인 페이지에서는 먼저 사용자의 사용자 이름과 비밀번호를 확인해야 합니다. 데이터베이스와 비교하거나 AD에서 확인하는 방법을 사용하면 다음 방법을 사용하여 쿠키에서 현재 사용자를 확인된 사용자로 식별할 수 있습니다. 랜딩 페이지로 이동하기 전에 사용자가 요청한 페이지로 이동합니다.
FormsAuthentication.RedirectFromLoginPage(userName,createPertantCookie);
사용자가 직접 요청한 페이지에서는 다음과 같은 방법으로 사용자를 인증합니다.
Context.User.Identity.IsAuthenticated
컨텍스트: 페이지와 연결된 System.Web.HttpContext 개체를 가져옵니다.
사용자: 현재 HTTP 요청에 대한 보안 정보를 가져오거나 설정합니다.
ID: 현재 사용자의 ID를 가져옵니다.
IsAuthenticated: 나타내는 부울 값을 가져옵니다. 확인된 사용자인지 여부
그런 다음 Web.config에서 보안 설정을 지정합니다.
<authentication mode="Forms">
<forms loginUrl="Login.aspx"></forms>
</authentication>
"Forms" 사용자가 자격 증명을 입력할 수 있는 사용자 정의 양식(웹 페이지)을 제공한 다음 확인에서 응용 프로그램 내에서 자신의 신원을 확인합니다. 사용자 자격 증명 토큰은 쿠키에 저장됩니다.
<authorization>
<deny users="?" />
</authorization>
거부는 금지됨을 의미하고, users="?"는 익명 사용자를 의미합니다.
<location path="NewUser.aspx">
<system.web>
<authorization>
<사용자 허용= "*" />
</authorization>
</system.web>
</location>
은 누구나 액세스할 수 있는 신규 사용자 등록 페이지 NewUser.aspx를 나타냅니다.
이는 익명 사용자에 대한 액세스 제어를 달성합니다.
예: http://bear-study-hard.cnblogs.com/archive/2006/05/31/414134.html 다운로드