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);
            }
        }


 

 

 

posted @ 2013-06-14 21:39  爱生活,爱编程  阅读(195)  评论(0编辑  收藏  举报