本文转自: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、C++】LeetCode 007 Reverse Integer

    Reverse digits of an integer. Example1: x = 123, return 321 Example2: x = -123, return -321 解题思路:将数字 ...

  2. DP:Islands and Bridges(POJ 2288)

    2015-09-21 造桥基建工程 题目大意,就是有n座岛和k座桥,要你找一条哈密顿圈(找完所有的岛,并且每个岛只经过一次),当经过一座岛就加上岛的价值,如果两岛联通,则加上两座岛的价值之积,如果三座 ...

  3. codeforces A. Domino 解题报告

    题目链接:http://codeforces.com/problemset/problem/353/A 题目意思:通俗地说,就是当上下两半的数的总和不完全是偶数时,通过上下调换某些骨牌来使这两半的数和 ...

  4. mybatisforeach循环,传入多个参数

    上代码: controller: @RequestMapping(value = "/findPage", method = RequestMethod.POST) @Respon ...

  5. JSTL分类查询

    index.jsp <%@ page language="java" import="java.util.*" pageEncoding="UT ...

  6. input框颜色修该

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  7. Emblog 备忘

    emblog换后台:(如admin-->xx) 1.xx目录下的globals.php打开找到替换admin(1) 2.www目录下的t\index.php 中找到替换admin(1) 3.ww ...

  8. MySQL auto-extending data file

    http://blog.csdn.net/hw_libo/article/details/39215723 http://blog.sina.com.cn/s/blog_5037eacb0102vjm ...

  9. ***mysql中经度纬度字段用什么存储(关于mysql的float和decimal区别)

    float,decimal精确度比较   float,double容易产生误差,对精确度要求比较高时,建议使用decimal来存,decimal在mysql内存是以字符串存储的, 用于定义货币要求精确 ...

  10. 《数学之美》(吴军 著)读书笔记:第1章 文字和语言 vs 数字和信息

    第1章有4个小节,以及前言. 前言 1.信息 2.文字和数字 3.文字和语言背后的数学 4.小结 下面我一一展开,让我们看看每一节都说了什么. 前言 语言和数字都是信息传播的载体,他们之间其实存在着天 ...