首页 > 解决方案 > 根据用户权限屏蔽某些数据

问题描述

我需要一些关于以下场景的输入或指导;

我有一个现有的 aspx web 应用程序包含 10 个不同的页面(搜索/列表/详细信息/报告等),使用普通 sql 来回获取数据。此应用程序用于维护学生信息。想要实现一项新功能,其中不应允许某些教师(访问级别)基于某些年龄(可以在 web config 中配置)查看学生详细信息(不隐藏、屏蔽所有页面中的网格或表格中的一行) )。

想知道在 c# 或 sql server 中以最佳和有效的方式实现此功能的可能选项。

提前谢谢各位

标签: c#sqlsql-server

解决方案


如果我正在实现这样的功能,我会在老师身上放置一个新属性来指示他们拥有的访问级别。

希望您可以将此逻辑提取到共享位置(而不是在每个页面上),但是当您加载页面时,您会检查登录的教师是否具有必要的访问级别。如果用户没有正确的访问级别,那么您可以修改发送到数据库的查询以排除不符合年龄标准的记录,或者您可以过滤哪些数据被发送回要显示的页面。

如果您给我们一些示例代码或更多详细信息,我可能会更具体。


推荐阅读