[ASP.NET Web.Config폼인증예제]authentication, authorization
꽁스짱
ASP.NET
0
1655
2021.02.17 01:59
[ASP.NET Web.Config폼인증예제]authentication, authorization
웹사이트에 접근시 로그인이 안된 경우 Login.aspx를 반드시 거치도록 하는 간단한
ASP.NET 폼 인증 예제이다.
1. Web.Config
중간쯤에 아래 내용을 추가하자.
<!-- 사이트 접근시 기본적으로 로그인 페이지를 통해 로그인을 해야함 -->
<!-- defaultUrl : 로그인 후 이동할 페이지 -->
<authentication mode="Forms" >
<forms loginUrl="Login.aspx" name=".ASPXFORMSAUTH">
</forms>
</authentication>
<!-- ? 는 로그인 안한 사용자는 웹리소스에 접근 막는다는 의미-->
<authorization>
<deny users="?" />
</authorization>
2. Global.asax를 수정 하자.
웹사이트의 페이지 하단에 로그인한 이메일 주소를 출력해 준다.
void Application_EndRequest(object sender, EventArgs e)
{
Response.Write("<hr/>");
Response.Write("Hello, " + Context.User.Identity.Name);
}
3. Login.aspx를 만들자.
웹사이트의 모든 페이지로 접근을 하면 로그인이 안된경우 이 페이지가 나타나게 된다.
예제에서는 "test@oraclejavacommunity.com", "1234"로 로그인을 하면 된다.
<%@ Page Language="C#" %>
<%@ Import Namespace="System.Web.Security" %>
<script runat="server">
void Logon_Click(object sender, EventArgs e)
{
if ((UserEmail.Text == "test@oraclejavacommunity.com") &&
(UserPass.Text == "1234"))
{
FormsAuthentication.RedirectFromLoginPage
(UserEmail.Text, Persist.Checked);
}
else
{
Msg.Text = "Email, Password를 확인 하세요.";
}
}
</script>
<html>
<head id="Head1" runat="server">
<title>Forms Authentication - Login</title>
</head>
<body>
<form id="form1" runat="server">
<h3>
Logon Page</h3>
<table>
<tr>
<td>
E-mail address:</td>
<td>
<asp:TextBox ID="UserEmail" runat="server" /></td>
<td>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1"
ControlToValidate="UserEmail"
Display="Dynamic"
ErrorMessage="Cannot be empty."
runat="server" />
</td>
</tr>
<tr>
<td>
Password:</td>
<td>
<asp:TextBox ID="UserPass" TextMode="Password"
runat="server" />
</td>
<td>
<asp:RequiredFieldValidator ID="RequiredFieldValidator2"
ControlToValidate="UserPass"
ErrorMessage="Cannot be empty."
runat="server" />
</td>
</tr>
<tr>
<td>
Remember me?</td>
<td>
<asp:CheckBox ID="Persist" runat="server" /></td>
</tr>
</table>
<asp:Button ID="Submit1" OnClick="Logon_Click" Text="Log On"
runat="server" />
<p>
<asp:Label ID="Msg" ForeColor="red" runat="server" />
</p>
</form>
</body>
</html>