호출자의 로그인 상태를 표시하는 방법

일반적으로 ASP.NET 웹 사이트에서 사이트의 특정 부분에 액세스하려면 먼저 사용자가 로그인해야 합니다. WIF(Windows® Identity Foundation)은 이 인증 프로세스를 간편하게 수행할 수 있는 웹 컨트롤을 제공합니다.

사용자가 로그인되면 사용자의 로그인 상태를 표시할 수 있습니다. WIF는 이 시나리오를 위해 SignInStatus 컨트롤을 제공합니다. 사용자가 이미 로그인한 상태이면 이 컨트롤이 "로그아웃” 링크로 표시됩니다. 사용자가 로그인한 상태가 아니면 웹 응용 프로그램에 구성된 로그온 페이지로 사용자를 리디렉션하는 "로그인" 링크로 표시됩니다. 이 컨트롤을 사용하려면 웹 응용 프로그램이 폼 기반 로그온을 사용하도록 구성되어 있어야 합니다. 자세한 내용은 단순 폼 인증을 구현하는 방법을 참조하십시오.

SignInStatus 컨트롤을 사용하여 로그인 상태 표시

WIF를 설치할 때 WIF 컨트롤이 Visual Studio 도구 상자에 설치됩니다. 해당 컨트롤이 보이지 않으면 도구 상자를 열어 컨트롤을 마우스 오른쪽 단추로 클릭한 다음 **항목 선택...**을 선택하여 수동으로 설치할 수 있습니다. 나타나는 대화 상자에서 .NET Framework 구성 요소 탭을 선택하고 오른쪽 위에서 "찾아보기" 단추를 클릭합니다. WIF 설치 폴더 안의 참조 어셈블리(Reference Assemblies) 디렉터리에서 Microsoft.IdentityModel.dll 어셈블리를 선택하고 "열기"를 클릭합니다. 그런 다음 "확인"을 클릭합니다. WIF(Windows® Identity Foundation) 컨트롤 범주 아래의 도구 상자 창에 새 컨트롤이 나타나야 합니다. 컨트롤 중 하나는 다음 단계에 사용할 SignInStatus라는 컨트롤입니다.

  1. 웹 응용 프로그램에 대해 세션 인증 모듈을 사용합니다(FedUtil을 사용하여 ASP.NET 신뢰 당사자 응용 프로그램에서 STS로의 트러스트 설정 참조).

  2. SignInStatus 컨트롤을 Visual Studio 도구 상자 대화 상자의 웹 페이지에 추가합니다.

  3. 컨트롤을 필요한 대로 구성합니다.

사용자가 로그인한 경우에만 이 컨트롤을 표시하려면 ASP.NET에서 제공하는 LoginView 컨트롤의 LoggedInTemplate 요소 안에 이 컨트롤을 추가합니다. 다음은 이 작업의 예입니다.

<asp:LoginView ID="LoginView1" runat="server"> <LoggedInTemplate> Welcome:<asp:LoginName ID="LoginName1" runat="server" /> <br /> <br /> <wif:SignInStatus ID="SignInStatus1" runat="server" /> <br /> </LoggedInTemplate> </asp:LoginView>