在ASP.NET上创建身份验证和授权,具有访问LDAP的能力

时间:2012-07-19 23:38:56

标签: asp.net authentication ldap authorization

所以,我已经厌倦了尝试在线搜索我的问题。

我目前正在创建一个ASP.NET 2.0应用程序。应用程序当前连接到一个数据库,该数据库存储我需要存储的所有信息。我也在我的工作场所连接到LDAP目录。我正在为我的应用程序使用LDAP目录,因为所有内容都由员工ID跟踪。我现在需要添加身份验证和授权。

由于我的工作场所很大,我需要能够限制谁有权访问公司内的网站以及他们在网站上可以做什么。我知道ASP.NET有某种身份验证和授权,但我完全没有注意它是如何工作的。

我目前的解决方案是使用两列(employee id和access_id)向我的数据库添加一个表。员工ID可用于在需要时从LDAP提取有关员工的信息。 access_id是一组整数,表示允许用户在网站上看到的内容。

当用户首次在我的网站上启动会话时,我使用他们的nt id并从LDAP中提取员工ID。然后我查找所有access_id并将它们存储在会话的数组中。每当用户访问网站的一部分时,我都会检查他们是否具有与该部分相关联的access_id,并根据该部分允许或禁止它们。我的第一个access_id为1允许用户通过将C#中的可见性设置为

来查看网页
if(access_id == 1)
  Enter.visible = true;.

1 个答案:

答案 0 :(得分:0)

您使用的是哪种LDAP目录?如果是Active Directory,请尝试: http://msdn.microsoft.com/en-us/library/ff650308.aspx 要么 http://msdn.microsoft.com/en-us/library/ff647405

您还可以考虑:http://msdn.microsoft.com/en-us/library/ff649313

如果不是AD,您可以实施自己的MembershipProvider:http://msdn.microsoft.com/en-us/library/f1kyba5e.aspx

最好尽可能使用框架,并在必要时只滚动自己的代码。