asp.net 如何配置authentication,完成基于表单的身份验证

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

<system.web>
<authentication
mode="Forms">
 
  
  
  
 <forms loginUrl="Login.aspx"
defaultUrl="admin/admin.aspx" name=".ASPXFORMSAUTH"
timeout="20">
 
  
  
  
 </forms>

</authentication>

</system.web>
loginUrl:用户没有登录,跳转到的登录页面
defaultUrl:正确登录之后,在没有指向页的时候,弄人跳转的页面

步骤二:

在admin文件夹下新建一个web.config文件,并加入以下代码
<system.web>
 
  
   <!--拒绝匿名用户访问此目录下的任何文件-->

<authorization>

<deny
users="?"/>
 
  
   </authorization> 
  
   
</system.web>
deny users="?":表示禁止匿名用户访问admin目录下的任何文件
到目前为止,只要你访问admin下的任何文件,都会自动跳转到Login.aspx登陆页面了,要求你先登录,否则别想看到页面。

步骤三:
在根目录下,创建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>");

}

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

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

最后一点:

有登陆,当然别忘了注销,这个更简单:
在admin目录下的任何一个页面中,加一个注销button按钮,并在其方法下写入:

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

//重新定向到登陆页面

FormsAuthentication.RedirectToLoginPage();
}

==============================================================

指定应用子配置设置的资源,并锁定配置设置,以防止它们被子配置文件重写。

此元素是 .NET Framework 2.0 版中的新元素。

configuration 元素(常规设置架构)
  location 元素(ASP.NET 设置架构)

<location
      allowOverride="True|False"
   path="path"
/>

属性和元素

下面几部分描述了此元素的属性、子元素和父元素。

属性

属性 说明

allowOverride


可选的 Boolean 属性。

指定配置设置是否可以被子目录中的 Web.config 文件的配置设置重写。

默认值为 True.


path


可选的 String 属性。

指定应用包含的配置设置的资源。使用缺少 path 属性的 location 将配置设置应用于当前目录及其所有子目录。如果使用不带 path 属性的 location,并且 allowOverrideFalse,则配置设置不能被子目录中的 Web.config 文件更改。

子元素

location 元素可以放置在其他元素的外侧,以便将配置设置应用于特定资源或者锁定配置设置。

父元素

元素 说明

configuration


指定公共语言运行库和 .NET Framework 应用程序所使用的每个配置文件中均需要的根元素。

备注

location 元素指定应用子配置设置的资源,还可用于锁定配置设置,以防止这些设置被子配置文件重写。

location 元素可以放置在其他元素的外侧,以便将配置设置应用于特定资源或者锁定这些设置。有关更多信息,请参见配置特定文件和子目录锁定配置设置

示例

下面的代码示例演示如何允许匿名用户获得 Logon.aspx 页的访问权。

<configuration>
   <location path="Logon.aspx">
      <system.web>
         <authorization>
            <allow users="?"/>
         </authorization>
      </system.web>
   </location>
</configuration>

下面的代码示例演示如何仅将指定页的上载文件大小限制设置为 128 KB。

<configuration>
   <location path="UploadPage.aspx">
      <httpRuntime maxRequestLength="128"/>
   </location>
</configuration>

下面的代码示例演示如何防止配置设置被子目录中的 Web.config 文件更改。

<configuration>
   <location allowOverride="false"/>
</configuration>

元素信息


配置节处理程序


不适用。


配置成员


ConfigurationLocation


可配置的位置


Machine.config

根级别的 Web.config

应用程序级别的 Web.config

虚拟或物理目录级别的 Web.config


要求


Microsoft Internet 信息服务 (IIS) 版本 5.0、5.1 或 6.0

.NET Framework 2.0 版

Microsoft Visual Studio 2003 或 Visual Studio 2005

时间: 2024-10-26 10:02:26

asp.net 如何配置authentication,完成基于表单的身份验证的相关文章

SOAPUI中文教程---基于表单的身份验证

Web表单身份验证 某些Web服务需要基于表单的认证.为了能够使用API调用,您通常需要启动浏览器,在Web表单登录,然后建立会话session. Example: 这要求进行身份验证凭据的表单可能看起来像这样的形式 <form method="post" action="/login"> Username: <input type="text" name="username" required> Pa

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

在前面的章节中我们知道可以在MVC应用程序中使用[Authorize]特性来限制用户对某些网址(控制器/控制器方法)的访问,但这都是在对用户认证之后,而用户的认证则依然是使用ASP.NET平台的认证机制. ASP.NET提供Windows和Forms两种身份验证,前者主要用于Intranet上域环境内,后者则更多的应用于Internet,这里我们只讨论后者.先从最简单的例子开始,我们在web.config中配置Forms认证方式: ... <authentication mode="For

基于表单的身份验证(FBA)

https://technet.microsoft.com/zh-cn/library/ee806890(office.15).aspx http://www.tuicool.com/articles/Fvm2u2 1.创建一个新的web应用程序(记得要启用FBA身份验证) 管理中心--应用程序管理--管理Web应用程序--Web应用程序--新建--填写各种参数 (注意:在新建程序的时候,也可以先不启用FBA验证,可以创建好以后再启用:选择你要启用FBA身份验证的web应用程序,选择上方的“身份

SharePoint 2013 配置基于表单的身份认证

前 言 这里简单介绍一下为SharePoint 2013 配置基于表单的身份认证,简单的说,就是用Net提供的工具创建数据库,然后配置SharePoint 管理中心.STS服务.Web应用程序的三处web.config即可.下面,让我们以图文的方式了解创建的具体过程吧. 使用微软提供的工具,创建数据库,找到Framework64下的aspnet_regsql,如下图: 这里我发现C:\Windows\Microsoft.NET\Framework64的v2.0.50727路径下和v4.0.303

在Tomcat中采用基于表单的安全验证

1.概述   (1)基于表单的验证 基于From的安全认证可以通过TomcatServer对Form表单中所提供的数据进行验证,基于表单的验证使系统开发者可以自定义用户的登陆页面和报错页面.这种验证方法与基本HTTP的验证方法的唯一区别就在于它可以根据用户的要求制定登陆和出错页面. 通过拦截并检查用户的请求,检查用户是否在应用系统中已经创建好login session.如果没有,则将用户转向到认证服务的登录页面.但在Tomcat中的基于表单的验证凭证不被保护并以纯文本发送.   (2)在Tomc

Struts2文件上传(基于表单的文件上传)

•Commons-FileUpload组件 –Commons是Apache开放源代码组织的一个Java子项目,其中的FileUpload是用来处理HTTP文件上传的子项目 •Commons-FileUpload组件特点 –使用简单:可以方便地嵌入到JSP文件中,编写少量代码即可完成文件的上传功能 –能够全程控制上传内容 –能够对上传文件的大小.类型进行控制 •需要下载Common-FileUplaod框架地址(当然MyEclipce中Struts2支持里自带有这两个包): –http://jak

ASP.NET 4.0 取消表单危险字符验证

/// <summary> /// ASP.NET4.0 表单验证类 /// </summary> public class FormRequestValidation : RequestValidator { public FormRequestValidation() { } protected override bool IsValidRequestString(HttpContext context, string value, RequestValidationSourc

yii表单的各种验证

/验证规则详细配置 public function rules() { // NOTE: you should only define rules for those attributes that // will receive user inputs. return array( array('username', 'required' ,'message'=>'用户名必须填写'), // array('username', 'required' ,'requiredValue'=>'ab

Nginx集群之基于Redis的WebApi身份验证

目录 1       大概思路... 1 2       Nginx集群之基于Redis的WebApi身份验证... 1 3       Redis数据库... 2 4       Visualbox虚拟机ubuntu下的redis部署... 3 5       编写.NET WebApi的OnAuthorization身份验证... 6 6       编写.NET WebApi的ActionFilterAttribute令牌验证... 8 7       编写.NET WebApi的服务端.