gpt4 book ai didi

asp.net - 如何根据用户角色限制 asp.net 控制操作?

转载 作者:行者123 更新时间:2023-12-02 12:12:27 26 4
gpt4 key购买 nike

我的应用程序中有几个页面或 View ,对于经过身份验证的用户和匿名用户来说本质上是相同的。我想将表单 View 和 GridView 中的插入/更新/删除操作限制为仅经过身份验证的用户,并允许经过身份验证的用户和匿名用户进行读取访问。

我正在使用 asp.net 配置系统来处理身份验证和角色。该系统根据路径限制访问,因此我一直在为经过验证的路径和匿名路径创建重复的页面。

立即想到的解决方案是检查适当的事件处理程序中的角色,限制显示的可能操作(插入/更新/删除按钮),并限制执行的操作(对于可能知道如何执行的用户) )但是,此解决方案并不能消除重复 - 我将在一系列页面上复制安全代码,而不是复制页面并根据路径限制访问;后者的复杂性要低得多。

我总是可以构建一些提供基于角色的配置的控件,但我认为我现在没有时间进行这种 promise 。

是否有一种相对简单的方法可以做到这一点(是否存在此类控件?)或者我应该坚持基于路径的访问和重复页面?

使用两种授权方法是否有意义?仍然有一些页面严格适用于任一角色,因此我无论如何都会使用基于路径的授权。

最后,使用基于路径的授权以外的其他方式是否会与典型的 ASP.NET 设计实践相悖,至少在使用 ASP.NET 配置系统的上下文中是这样?

最佳答案

最好的方法是在自定义控件上添加一个属性,说明“角色”或允许此类角色的用户查看该控件的内容。因为,您没有时间这样做,您可以创建一个辅助方法来处理控件的可见属性。像这样的事情:

<asp:Button id="UpdateButton" runat="server" Visible="<%# IsInRole("Admin") %>" /> 

您还可以创建自己的辅助方法来检查更多条件。

关于asp.net - 如何根据用户角色限制 asp.net 控制操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2433305/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com