[英]Authorization in c# asp.net
在我的公司中,我们正在开发一个包含许多用户的Web应用程序,所有这些用户都将定义一个或多个角色,为此角色,我们有单独的设置页面,例如
如果该角色登录后是否能够看到此菜单,则选中左侧的“访问”复选框,因为您可以看到右侧的菜单,当您展开菜单节点时,它将显示该菜单下的子菜单,我们可以进行设置如果他可以执行“添加,删除,编辑,查看以及从菜单隐藏子菜单”的权限
并且我们编写了一个通用类,该类使用此表检查用户角色并给出结果,在每页加载页面时,我们将调用该类并根据结果应用设置。
例如:如果用户登录到母版页,我们会在页面加载时得到结果,并应用这样的设置,
btnAdd.Enabled = result[0];
btnEdit.Enabled = result[1];
其中result[0]
, result[1]
是该类的返回值。
现在我的问题是,这是在asp.net中进行授权的正常方式吗?(不仅针对页面,而且针对页面中的控件)
我感觉像在做像btn.Enabled = true
这样的草率编码。
既然我已经说完了最后的需求,那么你们都将做什么呢?
问题:
1.如果我以这种方式进行授权会有什么弊端?
2.在asp.net中进行授权以满足我的需要的正确方法是什么(如上所述,我需要启用,禁用控件)
谢谢...
这是非常基本的方法,这样做无害。 在我公司的一个模块中,我们有相同的要求,但我们以不同的方式来完成。 我们是动态生成的。
您应该考虑使用框架的功能。 .NET为您提供基于声明的授权。 您还可以查看其他授权框架,例如XACML(可扩展访问控制标记语言)。
XACML的好处是:
我在这里写了一个有关相关主题的较长答案。 看一看。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.