如何在asp.net中实现用户基础安全而不是角色基础?

问题描述:

我必须使用.Net3.5在我的Web项目中实现用户基础安全。以下是一些我们需要:如何在asp.net中实现用户基础安全而不是角色基础?

  1. 角色可以是管理,管理,编辑,会员等
  2. 用户可以拥有多个角色
  3. 每个角色都有自己的动态菜单和限制/资源
  4. 所有菜单并且接口将从数据库动态填充

我听说过这种类型的用户基础安全性可以使用HashTable实现,但我不知道它是怎么回事?

今天我才知道,对于这种工作,Java人们使用Interceptor Design模式。那么,我怎么能在asp.net C#中做同样的事情呢?

你检出了官方的Microsoft ASP.NET网站吗?有许多与安全有关的教程http://www.asp.net/learn/security/

+0

@Theresa 感谢您的快速回复。我已经经历了所有关于内部成员提供者的说法,我们不想使用 – 2010-04-26 15:02:18

+0

为什么你不想使用成员提供者? – Theresa 2010-04-26 15:15:47

+0

根据客户要求 – 2010-04-26 15:33:30

创建一个HTTP模块,然后创建一个实现iPrincipal和iIdentity对象的类。在大多数情况下,iIdentity将会加载角色。在HTTP模块中将Context.User设置为Authenicate事件中新的iPrincipal对象。
由于两个接口iPrincipal和iIdentity非常薄,这比成员资格提供者更容易实现。在每个页面上,您可以使用User.IsInRole(“Rolename”)来验证用户是否具有适当的权限。

+0

@ggonsalv 感谢您的回复,请给我一个代码示例或任何一种链接,我可以找到代码 – 2010-04-27 13:17:54