使用Forms身份验证的时候,如果允许注册页面可以匿名用户访问,其他所有页面只允许注册用户访问,我们可以如下设置web.config文件来达到上述的效果:

1.在“system.web”节点下,添加登录验证需要的一些条件,如下所示。

<authentication mode="Forms">

<forms defaultUrl="Default.aspx" loginUrl="Login.aspx" protection="All"/>

</authentication>

<authorization>

<deny users="?"/>

<allow users="*"/>

</authorization>

2.由于注册界面不需要登录,所以还需要单独配置,在“configuration”节点下,添加如下代码:

<location path="Register.aspx">

<system.web>

<authorization>

<allow users="*"/>

</authorization>

</system.web>

</location>

<?xml version="1.0"?>

<!--

注意: 除了手动编辑此文件以外,您还可以使用

Web 管理工具来配置应用程序的设置。可以使用 Visual Studio 中的

“网站”->“Asp.Net 配置”选项。

设置和注释的完整列表在

machine.config.comments 中,该文件通常位于

\Windows\Microsoft.Net\Framework\v2.x\Config 中

-->

<configuration>

<appSettings/>

<connectionStrings>

<add name="BookShopConnectionString" connectionString="Data Source=CGJ\SQLEXPRESS;Initial Catalog=BookShop;Integrated Security=True"

providerName="System.Data.SqlClient" />

</connectionStrings>

<system.web>

<!--

设置 compilation debug="true" 将调试符号插入

已编译的页面中。但由于这会

影响性能,因此只在开发过程中将此值

设置为 true。

-->

<compilation debug="true"/>

<!--

通过 <authentication> 节可以配置 ASP.NET 使用的

安全身份验证模式,

以标识传入的用户。

-->

<authorization>

<deny users="?"/>

<allow users="*"/>

</authorization>

<authentication mode="Forms">

<forms name=".ASPXAUTH" loginUrl="Login.aspx" protection="All" timeout="60"  />

</authentication>

<!--

如果在执行请求的过程中出现未处理的错误,

则通过 <customErrors> 节可以配置相应的处理步骤。具体说来,

开发人员通过该节可以配置

要显示的 html 错误页

以代替错误堆栈跟踪。

<customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">

<error statusCode="403" redirect="NoAccess.htm" />

<error statusCode="404" redirect="FileNotFound.htm" />

</customErrors>

-->

<profile>

<providers>

<add name="ShoppingCartProvider"  type="BookShopProfileProvider" applicationName="BookShop"/>

<add name="AccountInfoProvider"   type="BookShopProfileProvider" applicationName="BookShop"/>

</providers>

<properties>

<add name="ShoppingCart" type="CartItem" provider="ShoppingCartProvider" />

<add name="AccountInfo" type="AddressInfo"  provider="AccountInfoProvider"/>

</properties>

</profile>

</system.web>

<location path="RegisterPage.aspx">

<system.web>

<authorization>

<allow users="*"/>

</authorization>

</system.web>

</location>

<location path="Manager.aspx">

<system.web>

<authorization>

<allow users="admin"/>

<deny users="*"/>

</authorization>

</system.web>

</location>

</configuration>

通过Forms身份验证设置不同页面的访问权限的更多相关文章

  1. ASP.NET Forms 身份验证

    ASP.NET Forms 身份验证 在开发过程中,我们需要做的事情包括: 1. 在 web.config 中设置 Forms 身份验证相关参数.2. 创建登录页. 登录页中的操作包括: 1. 验证用 ...

  2. asp.net Forms身份验证

    Web.config中的配置<system.web><authentication mode="Forms"> <forms name="K ...

  3. 采用Asp.Net的Forms身份验证时,非持久Cookie的过期时间会自动扩展

    问题描述 之前没有使用Forms身份验证时,如果在登陆过程中把HttpOnly的Cookie过期时间设为半个小时,总会收到很多用户的抱怨,说登陆一会就过期了. 所以总是会把Cookie过期时间设的长一 ...

  4. Web分布式部署,跨应用程序Forms身份验证的集成方案

    最近一个项目要求进行分布式部署.保证在双十一期间系统的正常运行,虽然该系统平时访问量不是很大,但是基于业务需要,必须在至少两台服务器上部署. 该系统需要登录后才可以使用,首先需要解决分布式部署的用户状 ...

  5. .net Forms身份验证不能用在应用的分布式部署中吗?

    参照网上的一些方法,使用Forms身份验证对应用进行分布式部署,发现没有成功. 应用部署的两台内网服务器:192.168.1.19,192.168.1.87,使用Nginx做负载分配,配置完全相同:每 ...

  6. asp.net Forms身份验证详解

    在做网站的时候,都会用到用户登录的功能.对于一些敏感的资源,我们只希望被授权的用户才能够访问,这让然需要用户的身份验证.对于初学者,通常将用户登录信息存放在Session中,笔者在刚接触到asp.ne ...

  7. Forms身份验证 知识总结

    最简单的Forms验证实现方法:FormsAuthentication.SetAuthCookie()方法,传递一个登录名即可FormsAuthentication.SignOut()方法退出Form ...

  8. 采用Asp.Net的Forms身份验证时,持久Cookie的过期时间会自动扩展

    原文:http://www.cnblogs.com/sanshi/archive/2012/06/22/2558476.html 若是持久Cookie,Cookie的有效期Expiration属性有当 ...

  9. asp.net的forms身份验证 单用户身份验证

    asp.net的forms身份验证  单用户身份验证 首先要配置Web.config文件 <system.web> <authentication mode="Forms& ...

随机推荐

  1. Get just enough boost voltage - current-mirror circuit - VOUT tracks VIN varies

    Adding a current-mirror circuit to a typical boost circuit allows you to select the amount of boost ...

  2. External components provide true shutdown for boost converter

    The step-up switching-converter circuit in Figure 1 presents a familiar problem: If you shut down bo ...

  3. MEF 导入(Import)和导出(Export)

    前言: MEF不同于其他IOC容器(如:Castle)很重要的原因在于它使用了特性化编程模型(涉及到两个概念:“特性”和“编程模型”). 特性(Attribute):举例来说就是我们在开发过程中在类上 ...

  4. rc_80 tomcat 日志

    1 #!/bin/sh 2 cd /mnt/tomcat/tomcat_8082/logs; 3 tail -f catalina.out;

  5. Flink 靠什么征服饿了么工程师?

    Flink 靠什么征服饿了么工程师? 2018-08-13    易伟平 阿里妹导读:本文将为大家展示饿了么大数据平台在实时计算方面所做的工作,以及计算引擎的演变之路,你可以借此了解Storm.Spa ...

  6. TYVJ 2002 扑克牌 题解

    P2002 扑克牌 时间: 1000ms / 空间: 131072KiB / Java类名: Main 背景 Admin生日那天,Rainbow来找Admin玩扑克牌……玩着玩着Rainbow觉得太没 ...

  7. [Todo]很不错的Java面试题类型整理,要看

    http://www.importnew.com/21445.html 1. 问,以下,会返回什么. public int func() { int ret = 0; try{ throw new E ...

  8. 转:从产品经理的角度算一算,做一个app需要花多少钱?

    http://mp.weixin.qq.com/s?__biz=MzA4NTM5MTgzNQ==&mid=400127477&idx=2&sn=6ab90b7028deed78 ...

  9. Vim的使用 区域选择

    1.Visual Block 区域选择,这里的Visual表示视觉,图像,可视化. 2.    小写v:字符选择     shift+v(大写V):行选择               ctrl+v:矩 ...

  10. 极客Web开发资源大荟萃

    前端开发已经成为当前炙手可热的技术之一.此次我们总结的前端开发包含了相关技术和流行趋势,希望从中大家可以挖掘你们所需要的,并带给你们最有价值的帮助!原文来自:极客标签 使用代码回放来愉快地学习前端知识 ...