0

我需要具有以下功能的 RoleProvider:

根据系统中动态分配的任务,将角色动态分配给任务
IPrincipals 的身份验证/授权,他们有权访问
报告,显示当前登录的用户,以及其他常见的使用统计信息。

我很确定我将不得不自己推出,但想确保我没有错过 OSS 甚至 MS 的东西。

我也在使用 ASP.NET MVC,所以我的基本计划是编写一个自定义属性,例如:[Authorize(Task=Tasks.DeleteClient)] 并将其放在需要授权的方法上。我不会根据角色授权,而是根据用户在数据库中配置的任何设置对角色授权任务。

想法?

4

2 回答 2

5

您可能想查看NetSqlAzMan。它允许您定义任务并将它们分配给角色,然后对您的 IPrincipal 对象进行身份验证和授权。

您可能需要滚动自己的安全属性,但 NetSqlAzMan 应该有助于使这项任务变得相当简单。

于 2009-11-03T23:53:35.417 回答
0

我们的一个系统也有类似的问题。我要做的第一件事是为您的特定任务创建更多 AuthorizeAttribute 类 - 例如 DeleteClientAuthorize 等。然后您可以将特定逻辑添加到您的类中。

只要您可以访问触发当前用户角色更改的例程,您就可以了。只需调用 Membership.DeleteCookie() ,这将强制下一个授权请求重新查询您的数据存储。此时您可以确定现在需要哪些角色。

于 2009-11-09T11:54:18.197 回答