用于维护基于角色的安全性的复杂解决方案
在我未来的 Web 应用程序中将会有许多用户角色。根据用户的角色,webapp 应限制用户对某些信息的访问。我需要实现以下功能:
- 根据角色,用户应该只看到当前角色和用户可用的列和行(在数据网格中),
- 、用户以只读或可编辑模式查看页面
- 具体取决于角色,用户应该根据角色 网页上应该有可见/隐藏的一些控件
在我以前的应用程序(非常简单)中,这个问题是在代码隐藏文件和标记文件中使用许多条件运算符解决的。维护这样的代码是相当困难的。
我想知道是否有任何复杂的解决方案可以维护所有级别的应用程序(数据、逻辑、视图)基于角色的安全性,而不会用 IF 搞乱代码。
ps 两者,java 和 .net 平台的解决方案都很有趣
In my future web application there would be many user roles. Depending on user's role, webapp should restrict users's access to certain pieces of information. I need to implement following features:
- depending on role, user should see only columns and rows (in data grid) that are available for current role and user
- depending on role, user should view page in readonly or in editable mode
- depending on role, user should have visible/hidden some controls on a web page
In my previous applications (that were pretty simple) such problem was solved using many conditionals operators in codebehind files and in markup files also. It was quite difficult to maintain such code.
I'm wondering are there any complex solution for maintaining role-based security for all levels of apllication (data, logic, view) without messing up code with IFs.
ps both, solutions for java and .net platforms are interesting
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
关于第 1 点:您可以通过封装数据访问并过滤加载的行以匹配当前用户的帐户/当前用户的角色来实现这一点。
我已经实现了这个机制以及类似的机制来防止数据层中其他用户对行的写访问,这使我不必在业务层中编写读写访问安全检查。
Regarding point 1: You can implement that by encapsulating your data access and filtering loaded rows to match the current user's account / the current user's role.
I've implemeented this and a similar mechanism for preventing write access to rows from other users in my data layer, which saves me of having to write read write access security checks in the business layer.