复习asp.net form验证

本文介绍了ASP.NET中Form验证的具体配置方法及其实现过程。通过配置web.config文件启用Form验证,详细说明了如何使用FormsAuthentication进行用户登录状态的管理,包括登录、权限控制和退出登录等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

http://www.cnblogs.com/linlin/archive/2010/09/08/1821438.html 

读书时最常用判断登陆的就是登陆时用cookie或session存储,然后每个页面判断是否登陆。

这样做每个页面都要判断很麻烦。

毕业半年了,这半年学会了用类,重写事件OnLoad()来,这样每个页面继承这个类!这个类里可以判断是否登陆,判断权限等等一些操作

可是如果只有登陆验证没有权限其他操作的话!这样用form验证比继承类来得更方便,这个也是今天才想到的!由于读书时注重玩,结果好多没注意听。今天重新学习了下form验证

首先配置web.config

 

 

在systen.web内配置
复制代码

< authentication  mode ="Forms" >
      
< forms  loginUrl ="admin/Login.aspx"  defaultUrl ="admin/Default.aspx"  timeout ="1" ></ forms >
</ authentication >
<!--
      name 属性指定验证所需要的 cookie 的名称,默认值是“.ASPXAUTH”,如果在一个服务器上下挂了多个 Web 应用程序,必须重新指定该名称,因为每个应用程序都需要唯一的 cookie。

      loginUrl 属性指定登录用的页面,用于提供用户名和密码,默认值是“login.aspx”。该页面可以和需要提供身份验证才能访问的页面放在同一个目录下(呵,我原以为这个页面要放在单独的可公开访问的目录下)。

      defaultUrl 属性指定登入后跳转到的页面,默认值是“default.aspx”,当然你也可以跳转到用户登入前的前一个页面,并且这是 .NET 的默认实现。
      timeout cookie过期时间
-->
复制代码

 

 

复制代码
<!--System.web同级-->
< location  path ="admin" >
    
< system.web >
      
< authorization >
        
< deny  users ="?" />< -- 拒绝匿名用户-- >
      
</ authorization >
    
</ system.web >
</ location >
复制代码

 

我做的后台单独放在一个文件夹内!这样只要给这个文件夹设置权限就可以,如果未登陆而浏览这个文件夹内的任意文件会跳转到登陆页面,登陆成功跳转到ReturnUrl,也就是你之前访问的页面。如果ReturnUrl为空,跳转到defaultUrl,也就是你配置的默认url

接下来是代码

 

代码
复制代码
if  (TextBox1.Text  ==  " adminss "  &&  TextBox2.Text  ==  " admin " )
        {
           FormsAuthentication.RedirectFromLoginPage(TextBox1.Text, CheckBox1.Checked);
             //CheckBox1.Checked如果为true将会持久保存cookie,直到cookie失效
            // 后面可以接Response.Redirect(“xx.aspx”),会跳转到你指定的页面,可是并不可以没有验证就跳转!
            
// 如果没有上面的验证票而直接跳转会失败,因为没有建立身份验证票
            
// Response.Redirect(Context.Request["ReturnUrl"]);
            //Response.Redirect("xx.aspx");
        }
        
else
            Response.Write(
" 用户名或密码错误! " );
复制代码

 

有些页面要根据判断用户是否登陆呈现不同的排版

 

复制代码
if (User.Identity.IsAuthenticated) // 这个是用来判断用户是否登陆
{
   
// 已登陆;
}
else
{
   
// 未登陆
}
复制代码

 

 

有时还要取用户的用户名显示在页面上

 

 

User.Identity.Name // 获取登陆名,其实就是之前FormsAuthentication.RedirectFromLoginPage(TextBox1.Text, CheckBox1.Checked);中的TextBox1.Text;

 

 

好了,之后就是退出代码了

 

FormsAuthentication.SignOut();

 

这是小弟早上复习来的!如果有什么不对的地方希望大家可以帮我指正下! 

转载于:https://www.cnblogs.com/blosaa/archive/2012/09/16/2687278.html

内容概要:本文档主要展示了C语言中关于字符串处理、指针操作以及动态内存分配的相关代码示例。首先介绍了如何实现键值对(“key=value”)字符串的解析,包括去除多余空格和根据键获取对应值的功能,并提供了相应的测试用例。接着演示了从给定字符串中分离出奇偶位置字符的方法,并将结果分别存储到两个不同的缓冲区中。此外,还探讨了常量(const)修饰符在变量和指针中的应用规则,解释了不同类型指针的区别及其使用场景。最后,详细讲解了如何动态分配二维字符数组,并实现了对这类数组的排序与释放操作。 适合人群:具有C语言基础的程序员或计算机科学相关专业的学生,尤其是那些希望深入理解字符串处理、指针操作以及动态内存管理机制的学习者。 使用场景及目标:①掌握如何高效地解析键值对字符串并去除其中的空白字符;②学会编写能够正确处理奇偶索引字符的函数;③理解const修饰符的作用范围及其对程序逻辑的影响;④熟悉动态分配二维字符数组的技术,并能对其进行有效的排序和清理。 阅读建议:由于本资源涉及较多底层概念和技术细节,建议读者先复习C语言基础知识,特别是指针和内存管理部分。在学习过程中,可以尝试动手编写类似的代码片段,以便更好地理解和掌握文中所介绍的各种技巧。同时,注意观察代码注释,它们对于理解复杂逻辑非常有帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值