c# - 检查用户是否在未经授权的页面上

标签 c# asp.net web-config

我在 web.config 中有一些行如下所示:

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

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

我自己控制登录方法。假设用户未登录并登陆 abc.aspx 页面。 Abc.aspx 页面未经授权不得在未登录的情况下查看,如上面的 web.config 中所示,仅允许 default.aspx 和 error.aspx。如何动态检查我当前所在的页面是否为 web.config 所允许?我可以对其进行硬编码,但我想看看这是否可行,这样每次我想将页面添加到异常(exception)列表时,我所要做的就是修改 web.config 而不是我的代码。

最佳答案

在 authentcation 标记后将其添加到您的 webconfig。这将确保未经授权的用户不会访问任何页面,您添加的其他标签应允许匿名访问您指定的页面。

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

关于c# - 检查用户是否在未经授权的页面上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14717365/

相关文章:

asp.net - 加密自定义配置设置

c# - 从基类返回派生类实例

c# - 如何在 NHibernate 中映射图像类型?

c# - 带 DataBinder.Eval 的条件运算符

c# - 允许对 App_Data 的请求

web-config - 当其余页面需要授权时,允许公共(public)访问两个 ASP.NET WebForm 页面

c# - 序列化不可序列化的自定义外部类

c# - 使用StorageFile来获取位图尺寸,然后再使用它来读取图像?

javascript - 如何通过 JavaScript 选择一行的单元格并获取它们的值?

c# - 获取请求的 SSL 证书