实现:验证用户身份成功,并登陆后台Admin文件夹里的index.aspx后台管理首页面,否则禁止匿名用户访问项目中的Admin文件夹里的任何一个文件。

 

步骤一:

在根目录下的web.config中加入:

<system.web>

<authentication mode="Forms">
            <forms loginUrl="Login.aspx" defaultUrl="Admin/Index.aspx" name=".ASPXFORMSAUTH" timeout="30">
            </forms>
</authentication>

</system.web>

 loginUrl:用户没有登录,跳转到的登录页面   默认值为 login.aspx。

 defaultUrl:正确登录之后,在后台代码没有指向指定页的时候,系统将自动跳转的页面

        name:指定要用于身份验证的 HTTP Cookie。如果正在一台服务器上运行多个应用程序并且每个应用程序都需要唯一的 Cookie,则必须在每个应用程序的  Web.config 文件中配置 Cookie 名称。  默认值为 ".ASPXAUTH"。

  timeout:指定 Cookie 过期前逝去的时间(以整数分钟为单位),  默认值为 "30"

步骤二:

步骤二可以由俩种方法:

1)、在Admin文件夹下新建一个web.config文件,并加入以下代码

<system.web>
        <!--拒绝匿名用户访问此目录下的任何文件-->
        <authorization>
            <deny users="?"/>
        </authorization>       
</system.web>

 deny users="?":表示禁止匿名用户访问Admin目录下的任何文件

到目前为止,只要你访问Admin下的任何文件,都会自动跳转到Login.aspx登陆页面了,要求你先登录,否则别想看到页面。

2)、在根目录下的web.config文件中的<system.web> 的结束标记</system.web> 后加入一下代码:

<location path="Admin">
        <system.web>
            <authorization>
                <deny users="?"/>
            </authorization>
        </system.web>
   </location>

path:表示设置所要针对的路径/目录

deny users="?":表示禁止匿名用户访问Admin目录下的任何文件

步骤三:

在根目录下,创建Login.aspx登陆页面(可不是在Admin目录下),加两个textbox控件一个botton控件,分别是用户名密码,和登陆按钮

双击登陆按钮,在其登陆方法里写上:

protected void btn_Login_Click(object sender, EventArgs e)
{
        if (TextBox1.Text == "admin" && TextBox2.Text == "fenghua17173")
        {
            //“通知”表单验证,该用户名已经通过身份验证
            FormsAuthentication.RedirectFromLoginPage(TextBox1.Text, true);
        }
        else
        {
            Response.Write("<script>alert('账号或密码有误,登录失败!');</script>");
        }
}

这时你在login.aspx页面里填上账号密码,系统就会根据根你在根目录下web.config中配置的 defaultUrl地址路径跳转过去,也就是Admin/Index.aspx页面。

现在Admin目录下的所有页面,均已通过身份验证,得到了可访问的票据。

最后一点:

有了登录,当然别忘了需要注销,这个更简单:

在Admin目录下的任何一个页面中,加一个注销button按钮,并在其方法下写入:

//退出系统,注销用户
protected void btn_Logout_Click(object sender, EventArgs e)
{
        //删除用户票据
        FormsAuthentication.SignOut();

//重新定向到登陆页面
        FormsAuthentication.RedirectToLoginPage();

}

好了,你已经知道如何配置web.Config中的authentication,来完成基于表单的身份验证了。

本文参考:http://www.fengfly.com/plus/view-174785-1.html

思考:

网站结构如下
    /index.aspx
    /userLogin.aspx
    /adminLogin.aspx
    /user/*.aspx
    /admin/*.aspx

需求:在未登录的情况下:

      访问/user/路径下的页面的请求转向到/userLogin.aspx;
              访问/admin/路径下的页面的请求被转向到/adminLogin.aspx;

另附广告:女朋友的淘宝网店,为她做宣传,希望大家别介意,http://iyseek.taobao.com  欢迎大家逛逛,嘿嘿!

如有需要帮助,请联系MSN:zheng331773812@hotmail.com(上班时在线)   QQ:331773812

欢迎大家共同交流!

转载于:https://www.cnblogs.com/jsonzheng/archive/2010/08/30/1812715.html

ASP.NET 完成基于表单的身份验证相关推荐

  1. 傻瓜教程:asp.net(c#) 如何配置authentication,完成基于表单的身份验证

    傻瓜老师又来了,本讲座报以学以致用,师傅带进门 修行靠个人的精神,不深入探讨,还请多指教~ 这堂课将的是基于表单的身份验证,其实某些时候,用于验证身份的账户和密码并不需要存在数据库或配置文件里,这时 ...

  2. glassfish hk2_使用GlassFish 3.1.2.2和Primefaces 3.4的JDBC领域和基于表单的身份验证

    glassfish hk2 我的博客上最受欢迎的帖子之一是有关JDBC安全领域和带有Primefaces的GlassFish上基于表单的身份验证的简短教程. 在收到有关它不再适用于最新的GlassFi ...

  3. 使用GlassFish 3.1.2.2和Primefaces 3.4的JDBC领域和基于表单的身份验证

    我的博客上最受欢迎的帖子之一是有关JDBC安全领域和带有Primefaces的GlassFish上基于表单的身份验证的简短教程. 在收到有关它不再适用于最新的GlassFish 3.1.2.2的评论后 ...

  4. 【FBA】SharePoint 2013自定义Providers在基于表单的身份验证(Forms-Based-Authentication)中的应用...

    //http://www.cnblogs.com/OceanEyes/p/custom-provider-in-sharepoint-2013-fba-authentication.html 由于项目 ...

  5. ASP.NET MVC 4 (十三) 基于表单的身份验证

    在前面的章节中我们知道可以在MVC应用程序中使用[Authorize]特性来限制用户对某些网址(控制器/控制器方法)的访问,但这都是在对用户认证之后,而用户的认证则依然是使用ASP.NET平台的认证机 ...

  6. primefaces_使用WildFly 8.2.0.Final,Primefaces 5.1和MySQL 5的JDBC领域和基于表单的身份验证...

    primefaces 我会不时查看我博客上最受欢迎的内容,并尝试最好地满足您的需求. 因此,阅读我的博客是其他读者推动内容的一种方式. 另一种方法是通过评论或电子邮件与我联系. 今天,我将使用Prim ...

  7. 使用WildFly 8.2.0.Final,Primefaces 5.1和MySQL 5的JDBC领域和基于表单的身份验证

    我会不时查看我博客上最受欢迎的内容,并尽力满足您的最佳需求. 因此,阅读我的博客是其他读者推动内容的一种方式. 另一种方法是通过评论或电子邮件与我联系. 今天,我将使用Primefaces修改我的JD ...

  8. java jaas_基于Java JAAS表单的身份验证

    java jaas 使用JAAS实现登录模块是一个高级主题,而且大多数开发人员也很少有机会参与这种开发. 但是JAAS登录模块的基本实现不是那么难实现,这是因为我打算将其发布. 在这里,我正在解释如何 ...

  9. 基于表单的网站身份验证的权威指南[关闭]

    基于表单的网站身份验证 我们认为Stack Overflow不仅应该是非常具体的技术问题的资源,而且还应该是关于如何解决常见问题变化的一般指导原则. "基于表单的网站身份验证"应该 ...

最新文章

  1. mycat是什么_MYCAT学习2
  2. 5G时代下的网络营销对移动端网站建设形成怎样的冲击?
  3. python编程入门书-关于 Python 的经典入门书籍有哪些?
  4. 面部识别公司深网视界泄露数百万人信息
  5. REVERSE-PRACTICE-BUUCTF-21
  6. Java基础夺命连环16问
  7. android 语音阅读软件,语音阅读器APP
  8. 全球互联网大面积瘫痪不再是虚幻
  9. c# 子窗口与父窗口之间的传值
  10. 关于Activity的四种启动模式详解
  11. android nfc贴卡多次读写,Android Studio NFC 读写卡程序 (二)(示例代码)
  12. win7网络改局域网计算机名,局域网共享一键修复工具(支持win7) 修复windows7各种共享问题...
  13. 4.2 录制第一个jmeter性能测试脚本(http协议)
  14. 朋友python多个逻辑条件判断_Python小课笔记--Python控制流:if逻辑判断
  15. Camtasia 2019卸载-无痕强力卸载
  16. 鸿蒙笔记本双系统,经验:巧用固态硬盘给笔记本电脑安装双系统
  17. ppt矩形里面的图片怎么放大缩小_PPT中图片点击放大效果的实现
  18. 双系统安装,错误:验证无效shim签名?
  19. VS错误代码列表之美
  20. Java中的for循环

热门文章

  1. 【正一专栏】欧洲五大联赛猜想(二)西甲冠绝欧洲英超继续混战
  2. 【正一专栏】老夫老妻了,你还会说我爱你吗?
  3. 小憩,味一二 ——08年3月编程手札
  4. 外企面试--基本涵盖了所有问题
  5. spring中的JdbcTemplate——JdbcTemplate的最基本用法
  6. 为什么我们的web前端变的越来越复杂
  7. 【upc5020】 Knight
  8. 贝叶斯分类器(Normal Bayes 分类器)
  9. matlab uicontrol中popupmenu(弹出式菜单)用法,用于显示不同的函数
  10. 高斯混合模型GMM理论和Python实现