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,并且 allowOverride 为 False,则配置设置不能被子目录中的 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>
|
配置节处理程序 |
不适用。 |
|
配置成员 |
|
|
可配置的位置 |
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 |
asp.net 如何配置authentication,完成基于表单的身份验证的更多相关文章
- 【FBA】SharePoint 2013自定义Providers在基于表单的身份验证(Forms-Based-Authentication)中的应用
//http://www.cnblogs.com/OceanEyes/p/custom-provider-in-sharepoint-2013-fba-authentication.html 由于项目 ...
- [FBA]SharePoint 2013自定义Providers在基于表单的身份验证(Forms-Based-Authentication)中的应用
//http://tech.ddvip.com/2014-05/1401197453210723.html 由于项目的需要,登录SharePoint Application的用户将从一个统一平台中获取 ...
- SharePoint 2013自定义Providers在基于表单的身份验证(Forms-Based-Authentication)中的应用
由于项目的需要,登录SharePoint Application的用户将从一个统一平台中获取,而不是从Domain中获取,所以需要对SharePoint Application的身份验证(Claims ...
- ASP.NET MVC 4 (十三) 基于表单的身份验证
在前面的章节中我们知道可以在MVC应用程序中使用[Authorize]特性来限制用户对某些网址(控制器/控制器方法)的访问,但这都是在对用户认证之后,而用户的认证则依然是使用ASP.NET平台的认证机 ...
- 基于表单的身份验证(FBA)
https://technet.microsoft.com/zh-cn/library/ee806890(office.15).aspx http://www.tuicool.com/articles ...
- JavaWeb应用中的身份验证(声明式)——基于表单的身份认证
容器管理安全最普遍的类型建立在基于表单的身份验证方式上. 通过这样的方式,server自己主动将尚未验证的用户重定向到一个HTML表单.检查他们的username和password,决定他们属于哪个角 ...
- SharePoint 2013 配置基于表单的身份认证
前 言 这里简单介绍一下为SharePoint 2013 配置基于表单的身份认证,简单的说,就是用Net提供的工具创建数据库,然后配置SharePoint 管理中心.STS服务.Web应用程序的三处w ...
- 在Tomcat中采用基于表单的安全验证
.概述 (1)基于表单的验证 基于From的安全认证可以通过TomcatServer对Form表单中所提供的数据进行验证,基于表单的验证使系统开发者可以自定义用户的登陆页面和报错页面.这种验证方法 ...
- Web服务器使用基于纯文本表单的身份验证——.net(未完待续)
asp.net 表单验证方式 Asp.net的身份验证有有三种,分别是"Windows | Forms| Passport",其中又以Forms验证用的最多,也最灵活. 根据实际需 ...
随机推荐
- 第四章 logstash - type与tags属性
参考:http://kibana.logstash.es/content/logstash/plugins/input/stdin.html 最常用法: input { stdin { tags =& ...
- C/C++ 分支预测(likely unlikely)
看一些代码时,会遇到likely unlikely, 查了查网上的资料,结合自己的理解记录一下. 1. 一些概念 指令周期是指执行一条指令所需要的时间,一般由若干个机器周期组成,是从取指令.分析指令到 ...
- linux 如何正确的关闭mongodb
有的朋友说可以通过下面的命令关闭mongodb: killall mongodb #or kill -9 mongo-pid 上面的方法确实可以关闭mongodb,但是正确的做法不是这样子的,mong ...
- a标签置灰不可点击
a标签的title属性可以实现鼠标放上去显示信息的功能 <a title="编辑" href ="javascript:return false;" on ...
- 根据ip地址获取用户所在地
java代码: package com.henu.controller; import java.io.BufferedReader; import java.io.IOException; impo ...
- Android -- 在xml文件中定义drawable数组
Xml <string-array name="images"> <item>@drawable/image1</item> <item& ...
- Android Fragment的使用(转载)
可以分为下面的几部分: 使用支持库 创建一个Fragment 创建一个动态UI 多个Fragment之间的通信 1.使用支持库 如果您的应用需要运行在3.0及以上的版本,可以忽略这部分内容. 如果您的 ...
- 如何让windows更高效?
首先解释一下个标题: "让windows更高效,既指让windows更友好更优化,也指可以让使用windows来工作或学习的人更高效的工作学习." 解释下本文的动机: 指导我自己或 ...
- Spring Integration概述
1. Spring Integration概述 1.1 背景 Spring框架的一个重要主题是控制反转.从广义上来说,Spring处理其上下文中管理的组件的职责.只要组件减轻了职责,它们同 ...
- ZH奶酪:使用PHP调用REST API
原文:http://yuguo.us/weblog/php-rest-api/ 表征状态转移(英文:REpresentational State Transfer,简称REST)是Roy Fieldi ...