繁体   English   中英

IIS 7.5和ASP.Net中的身份验证设置有什么区别?

[英]Authentication settings in IIS 7.5 and ASP.Net, what is difference?

我刚刚开始在Windows 2008 R2和ASP.Net 4中使用IIS 7.5学习Web编程。

我注意到IIS和ASP.Net都可以定义身份验证规则。 在IIS中,有一个表单身份验证设置,我可以将用户重定向到指定的页面进行身份验证,如下所示:

替代文字

然后,在ASP web.config文件中,我找到类似的设置:

<authentication mode="Forms">
  <forms loginUrl="~/Account/Login.aspx" timeout="2880" />
</authentication>

当我完成两个设置时,我假设任何页面请求都将重定向到login.aspx页面。 但事实并非如此。 所以我很困惑。 2套配置如何协同工作? 为什么不重定向页面请求?

谢谢

更新

最后我开始工作,我想我现在明白了。 我的网站结构如下:

替代文字

它是关于修改Autherization规则。 拒绝所有未授权的root用户:

    <authorization>
        <deny users="?" />
    </authorization>

应该允许所有用户使用CSS文件,因此我有Styles \\ web.config:

    <authorization>
        <allow users="*" />
    </authorization>

并且只允许未经授权的用户访问register.aspx,所以我有Account \\ web.config:

  <location path="Register.aspx">
    <system.web>
      <authorization>
        <allow users="*"/>
      </authorization>
    </system.web>
  </location>

  <system.web>
    <authorization>
      <deny users="?"/>
    </authorization>
  </system.web>

您需要配置另一个组件:授权。 如果不这样做,未经授权的用户可以访问所有页面,并且不会被重定向到登录页面。 例如:

<authorization>
    <deny users="?" />
</authorization>

这指定拒绝所有未经身份验证的用户访问应用程序中的页面。 authorization元素是system.web配置部分的一部分。

在IIS中使用身份验证设置某些内容时(在您的情况下为表单身份验证)。 它还使用相同的设置更改映射的项目webconfig文件。 这就是为什么你在两个模块中看到相同的信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM