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验证用的最多,也最灵活. 根据实际需 ...
随机推荐
- 双语:Interprocess Communication 进程通信
when one process creates a new process, the identity of the newly created process is passed to the p ...
- [leetcode]Median of Two Sorted Arrays @ Python
原题地址:https://oj.leetcode.com/problems/median-of-two-sorted-arrays/ 题意:There are two sorted arrays A ...
- delphi判断.net FrameWork是否已安装
判断系统中.NET FrameWork已安装版本的方法很多,比如检查C:\Windows\Microsoft.NET\Framework\下的子目录,但是子目录往往是包含版本号,比如v2.0.5072 ...
- Double-Array Trie分词词典简述
http://www.xuebuyuan.com/1991441.html 一.TRIE树简介(以下简称T树) TRIE树用于确定词条的快速检索,对于给定的一个字符串a1,a2,a3,…an,则采用T ...
- Medline Plus
提问地址: http://apps2.nlm.nih.gov/medlineplus/contact/index.cfm?lang=en&from=http://www.nlm.nih.gov ...
- offsetof与container_of宏[总结]
1.前言 今天在看代码时,遇到offsetof和container_of两个宏,觉得很有意思,功能很强大.offsetof是用来判断结构体中成员的偏移位置,container_of宏用来根据成员的地址 ...
- ASP.NET MVC 重命名[命名空间]而导致的错误及发现的ASP.NET MVC Bug一枚
使用VS2012新建了一个Asp.net mvc5的项目,并把项目的命名空间名称更改了(Src更改为UXXXXX),然后就导致了以下错误 刚开始以后是项目的属性中的命名空间没有更改过来的问题,但我在重 ...
- (纪录片)电的故事 Shock & Awe The Story of Electricity
简介: 导演: Tim Usborne主演: Jim Al-Khalili类型: 纪录片 / 传记 / 历史官方网站: www.bbc.co.uk/programmes/p00kjq6d制片国家/地区 ...
- Word 之 清除页眉下划线
在应用 Word 的时候,有时我们需要为文件添加页眉,但是首页却不需要.这时一般都会勾选“ 首页不同 ”并关闭页眉页脚.一种情况页眉不显示任何信息及下划线,另一种情况页眉留有下划线.以下针对第二种情况 ...
- 关于Chrome浏览器(Chrome Stable、 Chrome Canary 、Chromium)
作为开发者,web浏览器一般最常用的可能是Chrome浏览器.但其实Chrome浏览器还有别的一些版本.如:Chrome Stable. Chrome Canary .Chromium.大部分人一般用 ...