使用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. Petuum - Careers

    Petuum - Careers Cloudformation

  2. ZEN056V130A24LS/ZEN132V130A24LS TVS 二极管 - 瞬态电压抑制器 5.6V/13.2V 保护

  3. Windows下配置Git服务器和客户端

    http://www.cnblogs.com/lwme/archive/2012/12/25/configuring-git-server-and-client-on-windows.html] 选择 ...

  4. 分布式服务的事务如何处理?比如dubbo,服务与服务之间的事务怎么处理比较好,现在有没有开源的解决方案?

    作者:何明璐链接:http://www.zhihu.com/question/29483490/answer/98237582来源:知乎著作权归作者所有,转载请联系作者获得授权. 首先是不建议采用XA ...

  5. libgdx与Robovm绑定的坑

    https://github.com/BlueRiverInteractive/robovm-ios-bindings

  6. FeatureTable()

    abstract                                                            long         addFeature(Feature ...

  7. 关于LightMapping和NavMesh烘焙的动态载入

    熟悉unity的朋友都应该知道,unity有内部LightMapping烘焙和NavMesh寻路的功能.但这些非常好用的功能,都是基于对某个已经保存的关卡(scene)进行烘焙(Bake)的操作,我一 ...

  8. [Android Pro] 分析 Package manager has died

    reference to : http://blog.csdn.net/xxooyc/article/details/50162523 这是今天遇到的一个issue,由于Binder造成的.虽然比较简 ...

  9. <%@ include> <jsp:include>

    1. <%@ include file=”relativeURI” %> 这个效果是将引入的文件内容直接加入当前JSP然后再编译,会造成的问题就是如果引入的页面中也写了head,conte ...

  10. oracle分析函数之windowing_clause--rows

    Some analytic functions allow the windowing_clause. In the listing of analytic functions at the end ...