授权所有用户访问 ASP.NET 网站中的单个页面的最佳方式是什么?

除了登录页面和其他页面之外,我拒绝所有用户查看网站中的页面。

如何使所有用户都可以访问此页面?

有帮助吗?

解决方案

我一直在使用表单身份验证并创建必要的 GenericIdentity 和 CustomPrincipal 对象,这些对象使我能够利用通常只能通过 Windows 身份验证获得的 User.IsInRole 类型函数。

这样在我的 web.config 文件中,我可以做类似的事情......

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

<location path="ManagementFolder">
   <system.web>
      <authorization>
         <allow roles ="Administrator, Manager" />
      </authorization>
   </system.web>
</location>

其他提示

我创建了一个处理此类事情的基本“页面”类。如果需要登录才能查看,我的所有页面都可以使用 RequiresLogin 属性进行装饰。如果该属性不存在,则所有人都可以访问该页面。

例子:

<RequiresLogin()> _ 
<RequiresPermission("process")> _
Partial Class DesignReviewEditProgressPage
    Inherits MyPage 'which inherits System.Web.UI.Page and deal with logins itself

    ...
End Class

MyPage 类检查哪些属性被标记到自身,如果 RequiresLogin 存在,它会将您转发到登录页面。

我相信这可以适应您自己的问题。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top