当前位置: 首页 > 知识库问答 >
问题:

使用memberOf的LDAP身份验证

夏侯林
2023-03-14

我有一个asp。net(C#)设置为使用LDAP进行身份验证。一切正常,我可以和我们目录中的任何用户一起登录。问题是,我需要将某些页面限制为特定组中的人。我正在使用登录查看帐户文件夹的方法。

我的网站设计很简单,它有三个页面,一个供所有人查看(账户文件夹之外),另外两个需要身份验证。我希望一个组可以访问两个网页,另一个组只能访问其中一个网页。

我试过:

String group = "group";
if (!User.IsInRole(group)) {
    Response.Redirect("login.aspx");
}

但不管我的用户不在该组中。我有一个LDAP浏览器,我确信我是团队中的一员。LDAP浏览器显示“memberOf”和“CN=group”。

我做错了什么吗?

共有3个答案

禄光霁
2023-03-14

如果您正在对域使用集成身份验证,并且已将“模拟”设置为true,则可以通过删除对该目录具有权限的ASPNET(和任何其他全局组)来锁定应用程序的区域,并添加您想要访问的指定广告组。

我肯定会记录这一点,因为我继承了一个使用这种方法的系统,它让我花了几个小时才弄清楚在哪里实施了访问控制。

桂和同
2023-03-14

你试过添加域名吗?

你也可以使用该应用程序实现这一点。配置:http://bytes.com/topic/asp-net/answers/300187-web-config-authorization-help

编辑:

下面是ASP中基于角色的安全性的更好链接。NET使用该应用程序。配置。

方长卿
2023-03-14

当您为用户创建表单身份验证票证时,用户数据指定了该用户的“角色”。

http://msdn.microsoft.com/en-us/library/system.web.security.formsauthenticationticket.aspx

举个例子:

FormsAuthenticationTicket authTicket = new FormsAuthenticationTicket(1,
    username, DateTime.Now, DateTime.Now.AddMinutes(30),
    isPersist, "group");

//I'll add more example code for the sake of completing the example
string encryptTick = FormsAuthentication.Encrypt(authTicket);
HttpCookie cookie = new HttpCookie(FormsAuthentication.FormsCookieName,
                encryptTick);
if (isPersist)
    cookie.Expires = authTicket.Expiration;
Response.Cookies.Add(cookie);

这应该能让你的代码正常工作。

 类似资料:
  • 我已经创建了一个Restful应用编程接口。我在这里使用LDAP身份验证。我们公司有一个LDAP目录服务器,我在我的中使用下面的方法。 这是我的LDAP身份验证方法,我将此方法用作服务层中的实用程序。 这是我的服务层类,我将实用程序类作为一种注入,可以用于身份验证方法。当我以swagger或postman用户名和密码发送请求时,给定来自请求的值,我会将它们保存到表的数据库中。但在坚持之前,身份验证

  • 我使用Presto Cli测试ldap,下面是以下命令: 它不要求密码,我能够连接到Presto集群,并能够运行查询。为什么LDAP身份验证对此没有任何帮助?

  • 我正在尝试使用passport ldapauth npm验证openLDAP用户名和密码。在执行下面的代码时,我总是收到错误消息:“缺少凭据”。请帮助我我的代码有什么问题。 有关更多详细信息,请参阅此badRequestMessage flash消息以查找缺少的用户名/密码(默认值:“缺少凭据”)

  • 我正在尝试在ms access 2010中使用用户名和密码进行ldap身份验证。我似乎无法理解这一点,并在网上尝试了不同的代码,但似乎都不起作用。有人能帮忙吗? 以下是我从这里学到的 我收到的错误是 “错误:服务器无法运行。-2147217865” 更改为ip地址立即获取以下错误 ,但它可能来自其他地方在我的代码.我将如何检查,如果ldap是成功的?

  • 我需要连接到LDAP服务器,但出现以下错误: javax。命名。AuthenticationException:[LDAP:错误代码49-80090308:LDAPPER:DSID-0C09034,注释:AcceptSecurityContext错误,数据525,向量 用户名和密码正确,我尝试设置相同的用户并传入另一个用编写的应用程序。NET,它在那里工作,但在Java中,我收到了错误消息。 我的

  • *更新:我设法将它配置为能够使用HttpBasic接受凭据。现在我想知道如何使用基于LDAP组的用户角色(例如,经理、开发人员)为特定endpoint设置权限