Form身份验证
网站安全模式
使用Windows身份验证
使用Forms身份验证
使用最多,也是最常见的方式
使用PassPort身份验证(收费)
需要MS给接口
Forms身份验证
Web.config
<system.web>
<authentication mode="Forms">
<forms loginUrl="登陆地址.aspx" defaultUrl="Default.aspx" /> <!--设置你的登陆页--> defaultUrl如果直接打开的就是 登陆地址.aspx 用户名密码输入成功后跳转的页面
</authentication>
<authorization>
<deny users="?"/> <!--告诉所有未登录用户无权直接等主页 就是让你不登陆无法进入其他页子--> ?表示所有用户
<allow users="*"/><!--所有用户可以直接不登陆直接浏览--> *表示所有用户
</authorization>
</system.web>
后台跳转就不能使用response.redirect而要使用
FormsAuthentication.RedirectFromLoginPage(txtuser.Text,false) 第二个参数的意思 是否要创建永久cookie false就是否每次进都要从输入 true是 第一次进完第二次就不用从新输入
在跳转后的页子后台要获取txtuser.Text 要使用
Context.User.Identity.Name
FormsAuthentication.SignOut()注销登录
Web.config
<system.web> <compilation debug="true" targetFramework="4.0" /> <authentication mode="Forms"> <forms loginUrl="Login.aspx" defaultUrl="Default.aspx"/> </authentication> <authorization> <allow users="*"/> </authorization> </system.web> <location path="admin"> <!--admin是文件夹名称--> <!--意思就是除了admin文件夹里的文件外其他的都可以随意访问admin文件夹里德文件必须要登录--> <system.web> <authorization> <deny users="?"/> </authorization> </system.web> </location>
Login.aspx
前台
<div> 用户名:<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox><br /> 密码:<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox><br /> <asp:Button ID="Button1" runat="server" Text="登陆" onclick="Button1_Click" /> </div>
后台
protected void Button1_Click(object sender, EventArgs e) { if (TextBox1.Text == "admin" && TextBox2.Text == "55555") { FormsAuthentication.RedirectFromLoginPage(TextBox1.Text, false); } }