C#.NET 4.5基于活动的授权WebForms(不是MVC)

时间:2017-05-17 07:12:32

标签: c# asp.net authentication webforms asp.net-authorization

目前我正在尝试在我的webform应用程序中实现基于活动的授权。在我的应用程序中,您有不同的角色:管理员,经理,员工和实习生。

应用程序通过我的BLL(业务逻辑层)与我的数据库进行通信,我正在尝试做的是,在BLL中为所有实体的所有读取器和管理器文件授予方法级别的授权,如下所示:

[Authorize(Activity = "CreateUser")]
public static void InsertUser( ... )

[Authorize(Activity = "UpdateEmployee")]
public static void UpdateEmployee( ... )

对于我想要CRUD活动的每个方法,在数据库中,我想告诉哪些角色可以做什么活动,或类似这样的东西。

除了登录之外,基于角色的安全性不是一种选择,因为例如,除了一个实体之外,不允许受训者插入或删除任何数据。因此,我需要在我的网络表单中使用基于权限/活动的授权。

目前我所能找到的只是MVC和.NET Core的解决方案,但对于webforms没有任何解决方案,或者2011年的帖子都没有真正提供解决方案,我想知道是否有任何新想法或到目前为止的解决方案。

在我的项目中,我使用FormsAuthentication,在我的webconfig文件中,我为特定角色自动化特定角色和路径。但这不会削减它。我还使用带有FormsIdentity的全局文件中的Application_OnPostAuthenticateRequest和我的自定义主体类,它使用了IIDentity和IPrincipal。

此外,我的AddEdit页面是相同的页面,并且基于URL中传递的查询字符串,如userId或employeeId,保存按钮决定它是插入还是更新。所以这就是我需要在方法上使用auth的原因。

所以我的问题是,是否有人知道我可以在asp.net 4.5 webforms中实际实现的模式,该模式可以获得基于权限或活动的授权,而无需对所有内容进行硬编码,以便更具未来性?

0 个答案:

没有答案