2012-07-19 113 views
1

我需要建立一个管理用户的应用程序,我认为这将是很好的遵循现有的管理模式,像一个由Windows或Linux的使用,有用户,组,权限等用户管理

我无法在互联网上找到任何地方获得有关如何实现这一点的解释。

我的应用程序是一个web应用程序,可能是asp.Net(不太重要的技术)来管理用户。对于现在的系统管理员,高级用户,小组管理员和简单的用户,我有几个级别。

每个级别提供的权限,如电力用户可以看到所有的用户,可促进用户将增长到部门经理,可能会降低用户(比他少的力量)等

有任何地方在哪里我可以阅读如何实施这样的系统?

回答

0

可能使用ASP.NET membership provider将为您工作。您可以使用将安全信息存储在Sql Server数据库中的SqlMembershipProvider。如果您需要更高级的功能(可能更安全),则可以使用Active Directory或ADAMActiveDirectoryMembershipProvider。 ASP.NET成员资格提供程序模型是可定制的,您可以实现自己的提供程序,但现有的提供程序非常强大。

+0

在选择如何实现这个之前,我想看看其他人如何构建这种结构。我的应用程序管理来自不同地方的用户和用户数据(外部Web服务,2个SQL服务器,Active Directory等)。我需要找到一种方法来处理用户的权限。例如,一个简单的用户不能更改Active Directory中的数据,但部分数据除外。另一个例子,一个小组经理只能看到他的小组细节和统计数据(我从Web服务获得的统计数据)等。我想读一些关于这个的理论,但我找不到。 – 2012-07-19 12:20:38

+1

您似乎需要处理自定义权限,并且成员资格提供程序只会帮助您处理用户管理和组成员身份。对于权限,我认为你需要实现['IPermission'](http://msdn.microsoft.com/en-us/library/system.security.ipermission.aspx)接口。所需的方法是“需求”。毫无疑问,MSDN上的例子并不多,但很容易理解:在实现Demand需求时,获取当前的委托人并评估执行某些操作所需的权限。如果委托人没有,则抛出'SecurityException'。 – 2012-07-19 12:39:43