本文转自:http://www.cnblogs.com/fengzheng126/archive/2012/04/06/2435513.html

ASP.NET的安全认证:Windows验证 (默认)、none、Passport、Forms

Froms验证

一、开启Forms验证

、打开web.config配置文件  

、找到<authentication mode="Windows"/> ,修改为

<authentication mode="Forms">       

<forms loginUrl="login.aspx" defaultUrl="default.aspx" name=".ASPX"></forms>

 </authentication>

即将login.aspx设为默认登录页,如果系统检测到用户未登录,则自动跳转到login.aspx页面;默认主页为:default.aspx;后缀名为:.ASPX;

添加<authorization>,设置访问权限

<authorization>
<deny users="?" ></deny> <!--问好代表匿名用户,*代表阻止所有用户-->
</authorization> 如果使用Forms验证,就需要用FormsAuthentication类来实现验证过程,FormsAuthentication类经常和Membership类结合使用,进行用户的登录验证。 创建身份验证 Cookie SetAuthCookie ( string userName, bool createPersistentCookie ) ,第二个参数:若要创建持久 Cookie(跨浏览器会话保存的 Cookie),则为 true;否则为 false。 string username = TextBox1.Text.Trim();
string password = TextBox2.Text.Trim();
if(登陆成功)
{
FormsAuthentication.SetAuthCookie(username,false);
Response.Redirect("default.aspx"); //登录成功的话,跳转到主页
} 返回原始请求url RedirectFromLoginPage ( string userName, bool createPersistentCookie ) 将经过身份验证的用户重定向回最初请求的 URL 或默认 URL。第二个参数:若要创建持久 Cookie(跨浏览器会话保存的 Cookie),则为 true;否则为 false。 string username = TextBox1.Text.Trim();
string password = TextBox2.Text.Trim();
if(登陆成功)
{
FormsAuthentication.RedirectFromLoginPage(username, false); //登录成功的话,跳转到原始请求页
} 删除 Forms 身份验证 SignOut () ;通常用于注销用户或用户退出登录。 login.aspx.cs中登录按钮的事件代码: protected void Button1_Click(object sender, EventArgs e)
{
string username = TextBox1.Text.Trim();
string password = TextBox2.Text.Trim(); FormsAuthentication.RedirectFromLoginPage(username, false);//自动转到原始请求页 //跳转到网站首页
//FormsAuthentication.SetAuthCookie(username,false);
//Response.Redirect("default.aspx");
} default.aspx.cs中的代码: 、label1标签显示用户名:Label1.Text = Context.User.Identity.Name;//在cookie中提取用户名 、注销登录按钮: FormsAuthentication.SignOut(); FormsAuthentication.RedirectToLoginPage();//退出后重定向到登录页,这两行是配合使用的。

[转]ASP.NET中的forms验证的更多相关文章

  1. Asp.net中基于Forms验证的角色验证授权

    Asp.net的身份验证有有三种,分别是"Windows | Forms | Passport",其中又以Forms验证用的最多,也最灵活. Forms 验证方式对基于用户的验证授 ...

  2. asp.net中使用forms验证

    1.首先在web.config中修改验证方式为 "Forms" <authentication mode="Forms"> 这里的模式有很多中,可自 ...

  3. 也谈Asp.net 中的身份验证

    钱李峰 的这篇博文<Asp.net中的认证与授权>已对Asp.net 中的身份验证进行了不错实践.而我这篇博文,是从初学者的角度补充了一些基础的概念,以便能有个清晰的认识. 一.配置安全身 ...

  4. ASP.NET中 RegularExpressValidator(正则验证)的使用

    原文:ASP.NET中 RegularExpressValidator(正则验证)的使用 ylbtech-ASP.NET-Control-Validator: RegularExpressValida ...

  5. 利用.net的内部机制在asp.net中实现身份验证

    知识点: 在ASP.NET中,任何页面都是继承于System.Web.UI.Page,他提供了Response,Request,Session,Application的操作.在使用Visual Stu ...

  6. ASP.NET 中的 authentication(验证)与authorization(授权)

    这两个东西很绕口,也绕脑袋. 一般来说,了解authentication(验证)的用法即可,用于自定义的用户验证. authorization(授权)主要通过计算机信息来控制. “*”:所有用户: “ ...

  7. Asp.net简单实现forms验证

    <configuration> <system.web> <compilation debug="true" targetFramework=&quo ...

  8. ASP.NET中的身份验证有那些?你当前项目采用什么方式验证请解释

    ASP.NET身份验证模式包括Windows.Forms(窗体).Passport(护照)和None(无). l  Windows身份验证—常结合应用程序自定义身份验证使用使用这种身份验证模式时,AS ...

  9. ASP.NET中的请求验证

    这两天做项目的时候偶然发现项目中的保存功能的时候出现这样的异常:异常详细信息: System.Web.HttpRequestValidationException: 从客户端(XXXX)中检测到有潜在 ...

随机推荐

  1. 【贪心】最大乘积-贪心-高精度-java

    问题 G: [贪心]最大乘积 时间限制: 1 Sec  内存限制: 128 MB提交: 34  解决: 10[提交][状态][讨论版] 题目描述  一个正整数一般可以分为几个互不相同的自然数的和,如3 ...

  2. mysql用命令行导入sql文件

    前面说到了用navicat工具导入导出数据库,今天给同事导入数据库的时候,发现到不进去,好多错误,情急之下,用命令行导入的 1.打开mysql的服务.cmd-->net start mysql ...

  3. 完善DriveInfoEx源代码 获取计算机硬盘序列号

    概述: 获取计算机硬盘序列号用途很多,在网上找到了一个C++的源代码DriveInfoEx(点这里查看).非常好的一个DLL,.NET项目可以直接引用,而且源代码里有示例. 但这个DLL在Win7非管 ...

  4. js判断是否为正整数的正则写法 JavaScript正整数正则

    判断是否为正整数 JavaScript正则判断一串数字是否为正整数, 首先要明白这几个问题 1:javascript里会把一串数字前边的0自动屏蔽,(我不知道屏蔽这个词用的是否正确) console. ...

  5. .net学习笔记---HttpResponse类

      HttpReponse是服务器接收到浏览器的请求后,处理返回结果常用的一个类. 一.属性 Buffer 获取或设置一个值,该值指示是否缓冲输出并在处理完整个响应之后发送它. BufferOutpu ...

  6. 完美搞定《DOCKER IN ACTION》第二章示例

    起来!!!命令如下: 建立第一个web docker docker run --detach --name web nginx:latest 建立第二个web_test docker docker r ...

  7. PHP项目:如何用PHP高并发检索数据库?

    对于抢票.秒杀这种业务,我说说自己对这种高并发的理解吧,这里提出个人认为比较可行的几个方案: 方案一:使用队列来实现 可以基于例如MemcacheQ等这样的消息队列,具体的实现方案这么表述吧 比如有1 ...

  8. 手把手教你在Windows下使用MinGW编译libav(参考libx264的编入)

    转自:http://www.th7.cn/Program/cp/201407/242762.shtml 手把手教你在Windows下使用MinGW编译libav libav是在Linux下使用纯c语言 ...

  9. linux下动态库so文件的一些认识

    转自:http://mypyg.iteye.com/blog/845915 个人创作,欢迎指错. 牵扯到ELF格式,gcc编译选项待补,简单实用的说明一下,对Linux下的so文件有个实际性的认识.  ...

  10. &是什么运算符(转)

    &表示两种运算符,其中一种表示取值运算符,一种是按位与 取值运算符 int a=1; int *p=&a; //其中&a表示的就是把a中的地址取出来,然后赋给指针变量,也就是说 ...