[Web配置]web.config中用户验证 访问权限 配置

转载 2012年03月30日 10:13:37

代码如下:

1,当一个目录下的所有网页禁止访问时;如下

    <system.web>
      <!--当验证模式为froms(如下),如果匿名用户访问禁止访问的页,将会在下面设计。-->
      <authentication mode="Forms">

     <!--当验证模式为froms(如下),如果匿名用户访问禁止访问的页,将会转到login.aspx。-->
        <forms defaultUrl="Default.aspx" loginUrl="Login.aspx" timeout="30" name=".FormsAuthCookie" protection="All" path="/"></forms>
      </authentication>
      <!--设定禁止访问的用户-->
      <authorization>
        <deny users="*"/>
        <!-- 禁止所有用户匿名用户浏览-->
      </authorization>
    </system.web>

2.如果有如除了登录页面外的所有页面都不能访问。如下设置:
<!-- 除了这一页外,禁止所有用户匿名用户浏览如下:-->
<location path="login.aspx">
    <system.web>
      <authorization>
        <deny users="*"/>
      </authorization>
    </system.web>
</location>

具体解释

      <authentication mode="Forms">

窗体身份验证准则

要使用窗体身份验证,设置 元素的 mode="Forms"。接下来,使用 子元素配置窗体身份验证。以下片段显示了一个安全的 身份验证元素配置:

<authentication mode="Forms">
<forms loginUrl="Restricted\login.aspx" Login page in an SSL protected folder
protection="All"                  Privacy and integrity
requireSSL="true"                 Prevents cookie being sent over http
timeout="10"                      Limited session lifetime
name="AppNameCookie"              Unique per-application name
path="/FormsAuth"                    and path
slidingExpiration="true" >        Sliding session lifetime
</forms>
</authentication>

使用以下推荐实践提高窗体身份验证安全性:

设置 Protection="All"

这个设置能够确保窗体身份验证 cookie 加密,从而提供私密性和完整性。用于 cookie 加密的密钥和算法是在 <machineKey> 元素上指定的。

加密和完整性检查能够防止 cookie 篡改,虽然如果攻击者设法捕获 cookie 的话,它们并不能降低 cookie 重放攻击的风险。还应该使用 SSL 防止攻击者通过使用网络监视软件捕获 cookie。尽管使用了 SSL,cookies 还是能够通过跨站点脚本 (XSS) 攻击窃取。应用程序必须通过适当地输入验证策略,采取足够防范措施,以降低这种风险。

使用小的 cookie 超时值

使用小的超时值限制会话生存期,并减少 cookie 重放攻击的可能性。

考虑使用固定的到期时间

考虑设置 <forms> 元素的 slidingExpiration="false" 以修改 cookie 到期时间,不要在每次 Web 请求之后重新设置到期时间。如果您不使用 SSL 保护 cookie 的话,这是很重要的。

此功能在 .NET Framework 1.1 版中提供。

在窗体身份验证中使用 SSL

使用 SSL 保护凭据和身份验证 cookie。SSL 能够防止攻击者捕获凭据或者用来向应用程序标识您的窗体身份验证 cookie。窃取的身份验证 cookie 是一个窃取的登录。

设置 requireSSL="true"这将设置 cookie 中的 Secure 属性,从而确保 cookie 不会从浏览器通过 HTTP 链路传输到服务器。HTTPS (SSL) 是必需的。

这是一个 .NET Framework 1.1 版设置。在 1.0 版上构建的应用程序中,设置 cookie Secure属性是通过显式的编程进行的。有关更多信息和示例代码,请参阅“构建安全的 ASP.NET Web 页和控件”单元。

如果您不使用 SSL,设置 slidingExpiration = "false"

通过将 slidingExpiration 设置为 false,可以将 cookie 超时时间修改为距离 cookie 最初创建时的分钟数。否则,超时将在每次向 Web 服务器请求时更新。如果 cookie 被捕获了,将为攻击者提供所需要的足够时间以经过身份验证的用户标识访问应用程序。

此功能在 .NET Framework 1.1 版中提供。

不要在产品服务器上使用元素

在 XML 配置文件中存储用户凭据的能力是为了支持快速开发和有限测试而提供的。不要使用实际的最终用户凭据。最终用户凭据不应该存储在产品服务器上的配置文件中。产品应用程序应该实现自定义用户凭据存储区,例如,在一个 SQL Server 数据库中。

配置 machineKey

<machineKey> 元素定义了用来加密窗体身份验证 cookie 的加密算法。此元素还保留着加密密钥。有关更多信息,请参阅本单元中的“机器密钥”部分。

使用唯一的 cookie 名称和路径

使用唯一的 namepath 属性值。通过确保名称的唯一,能够防止在同一个服务器上寄宿多个应用程序时可能出现的问题。

<authorization>

<authorization> 中以<allow> 和 <deny> 子元素的形式指定

一个特定的用户
一个逗号分隔的用户列表
所有匿名用户,以问号 (?) 表示
所有用户,以星号 asterisk (*) 表示
以下标记说明了如何使用 URL 授权规则来允许用户Tito 和 Scott ,而拒绝其它用户:

<authorization>
     <allow users="Tito, Scott" />
     <deny users="*" />
</authorization>

 

http://qqhack8.blog.163.com/blog/static/11414798520117131109550/

Asp.net的登录验证方法Web.config访问权限配置

如何运用 Form 表单认证 ASP.NET 的安全认证,共有“Windows”“Form”“Passport”“None”四种验证模式。“Windows”与“None”没有起到保护的作用,不推...
  • god_7z1
  • god_7z1
  • 2012年09月06日 00:31
  • 588

asp.net项目中通过Web.config配置文件及文件夹的访问权限!

描述:在开发中我们通常会碰到这样的问题,例如:在项目的根目录下面有一个文件或者文件夹需要用户登陆后才能访问。如果用户在没有登录的情况下访问该文件或者该文件夹下面的文件时,直接拦截重定向到对应的登陆页面...

通过web.config文件配置项目中文件夹的访问权限

该文讲解了通过web.config配置文件配置项目下文件夹的访问权限问题。 新建一个web运用程序,项目结构如下:   其中Manager文件夹的ASP.NET页面属于管理员...

通过web.config文件配置项目中文件夹的访问权限

该文讲解了通过web.config配置文件配置项目下文件夹的访问权限问题。 新建一个web运用程序,项目结构如下:   其中Manager文件夹的ASP.NET页面属于管理员操作页面,所有只...

通过web.config文件配置项目中文件夹的访问权限

该文讲解了通过web.config配置文件配置项目下文件夹的访问权限问题。新建一个web运用程序,项目结构如下:其中Manager文件夹的ASP.NET页面属于管理员操作页面,所有只用通过登录并授权后...

C# web.config权限配置

  • 2013年08月09日 09:23
  • 15KB
  • 下载

Web.config 节点配置 权限解读

文章一、WebConfig Authorization 节点 授权的目的是确定是否应该授予某个标识对给定资源请求的访问权限类型。有两种基本方式来授予对给定资源的访问权限: 文件授权 文件授权由...
  • skydxd
  • skydxd
  • 2014年10月14日 16:49
  • 302

asp.net权限控制配置web.config

    项目下 有三个文件夹 A,B,C 验正方式是 Forms 验正 我要设置他们的访问权限为, A,匿名可访问 B,普通用户授权后才能访问 C,只允许管理员访问 ...

Oracle GoldenGate 安全性配置系列:利用 CMDSEC 文件控制 GoldenGate 命令的用户访问权限

最近生产环境的历史查询库有多个厂商在使用,goldengate同步经常莫名奇妙的被其他厂商关掉重启,一下子前台应用便感受到了。我们这些运维人员倍感压力啊。这个周末好好瞅了瞅Oracle GoldenG...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:[Web配置]web.config中用户验证 访问权限 配置
举报原因:
原因补充:

(最多只允许输入30个字)