我知道这更像是一个serverover故障问题,而不是stackoverflow问题,但由于serverfault尚未启动,我在这里:
我应该将应用程序从一个redhat服务器移动到另一个,并且在不了解应用程序的内部工作原理的情况下,如何将OpenLDAP数据库从一台机器移动到另一台机器,使用模式和所有机器.
我需要复制哪些文件?我相信这个设置很标准.
我正在使用一个使用Windows身份验证的C#和ASP.Net应用程序.
即在Web.config中:
<system.web>
<authentication mode="Windows" />
</system.web>
Run Code Online (Sandbox Code Playgroud)
我想从Active Directory获取当前用户的详细信息(全名,电子邮件地址等).
我可以SOMEDOMAIN\someuser通过使用获得他们的Windows 2000用户登录名(例如:)
string username = HttpContext.Current.Request.ServerVariables["AUTH_USER"];
Run Code Online (Sandbox Code Playgroud)
我已经使用他们当前的登录名(而不是他们的Windows 2000用户登录名)为用户制定了LDAP查询:
DirectorySearcher adSearch = new DirectorySearcher(
"(userprincipalname=someuser@somedomain.com.au)");
SearchResult adSearchResult = adSearch.FindOne();
Run Code Online (Sandbox Code Playgroud)
但是,我不知道如何使用他们的前W2K登录名为用户搜索AD,或者以'someuser@somedomain.com.au'格式获取他们的登录名.
有任何想法吗?
我的项目是为我们的大学制作模块注册系统.所以我联系了我大学的IT人员,详细了解了学生进入系统的情况.我们正在使用现有的大学登录系统开发系统.他们给了我一些LDAP信息,我不知道它的用法.我在Apacha服务器上使用PHP,Mysql.如果用户ID和密码包含LDAP信息,我如何验证登录系统的用户.
以下是LDAP信息(我更改了域名等)
blueroom.ac.uk域的LDAP信息
LDAP Host : ad.blueroom.ac.uk
LDAP port no: 389
BASE DN : ou=bluebird, dc=bluebird, dc=ac, dc=my
LDAP account to bind : cn = kikdap, ou=servacc, dc=bluebird,dc=ac,dc=uk
LDAP account password : ********
Attribute : sAMAccountName
Run Code Online (Sandbox Code Playgroud) 我正在尝试开发一个应用程序(C#)来查询LDAP服务器.我不知道命名为查询的实际服务器 - 有没有办法找到使用标准的Windows工具或.net中的东西?
我也听说有传言说只要我的查询字符串中有dc = domain,dc = com,就不一定需要服务器名称(ldap:// server /),但我到目前为止还能够以这种方式使用它.
有小费吗?
谢谢
我已经查过这篇文章了.但它没有回答我的问题.我想获取特定用户所属的所有活动目录组.
我写了以下代码.但我无法继续进行,因为我不知道如何提供过滤器以及如何访问属性.
class Program
{
static void Main(string[] args)
{
DirectoryEntry de = new DirectoryEntry("LDAP://mydomain.com");
DirectorySearcher searcher = new DirectorySearcher(de);
searcher.Filter = "(&(ObjectClass=group))";
searcher.PropertiesToLoad.Add("distinguishedName");
searcher.PropertiesToLoad.Add("sAMAccountName");
searcher.PropertiesToLoad.Add("name");
searcher.PropertiesToLoad.Add("objectSid");
SearchResultCollection results = searcher.FindAll();
int i = 1;
foreach (SearchResult res in results)
{
Console.WriteLine("Result" + Convert.ToString(i++));
DisplayProperties("distinguishedName", res);
DisplayProperties("sAMAccouontName", res);
DisplayProperties("name", res);
DisplayProperties("objectSid", res);
Console.WriteLine();
}
Console.ReadKey();
}
private static void DisplayProperties(string property, SearchResult res)
{
Console.WriteLine("\t" + property);
ResultPropertyValueCollection col = res.Properties[property];
foreach (object o in col)
{
Console.WriteLine("\t\t" …Run Code Online (Sandbox Code Playgroud) 配置Tomcat 5.5或更高版本以从Windows Active Directory验证用户的最佳方法是什么?
我在Windows Vista Ultimate SP1上使用以下代码来查询我们的活动目录服务器以检查域上用户的用户名和密码.
public Object IsAuthenticated()
{
String domainAndUsername = strDomain + "\\" + strUser;
DirectoryEntry entry = new DirectoryEntry(_path, domainAndUsername, strPass);
SearchResult result;
try
{
//Bind to the native AdsObject to force authentication.
DirectorySearcher search = new DirectorySearcher(entry) { Filter = ("(SAMAccountName=" + strUser + ")") };
search.PropertiesToLoad.Add("givenName"); // First Name
search.PropertiesToLoad.Add("sn"); // Last Name
search.PropertiesToLoad.Add("cn"); // Last Name
result = search.FindOne();
if (null == result)
{
return null;
}
//Update the new path to the user in …Run Code Online (Sandbox Code Playgroud) 我公司开发和销售拥有数百名客户的SaaS应用程序.我们的一些客户要求我们支持LDAP集成,以便根据现有系统对用户帐户进行身份验证,而不必为每个员工创建另一个登录帐户.这似乎在很多地方被称为单点登录(SSO)?当然,我们的系统已经有一种机制来维护用户帐户配置文件并从我们的登录页面验证这些用户帐户.
我们对LDAP有点无知,对一些事情感到困惑.请原谅可能使用错误的术语(记住,我们对此有点无知).
我们认为我们了解这可能如何工作的基础知识:
假设上述信息甚至是半正确的,我们仍然需要每个用户在我们的系统中拥有一个帐户.我们不需要某种方式将我们的用户帐户配置文件与LDAP目录中的用户配置文件同步吗?这只是一个引用LDAP系统中用户ID的"外部ID"吗?那么是否需要客户的"远程认证"脚本必须向我们的系统提供该ID,以便我们知道系统中哪个用户帐户将登录与?相关联?
我们缺少什么?
顺便说一句,我们的平台是IIS,ASP.Net 2.0和SQL Server 2005.
我从过去发现了很多信息,说LDAP身份验证尚未启用,但您可以使用第三方软件包解决这个问题. 但是,似乎在1月份实施了LDAP身份验证WAS .我似乎无法找到任何关于如何实现它的信息.
我已经在我的项目中设置了自定义身份验证,我只需要逻辑来填写HandleAuthenticateAsync方法.
我尝试过使用其他示例,但它们似乎不适用于.NET Core 2.0.
这是我能想到的唯一相关代码
protected override Task<AuthenticateResult> HandleAuthenticateAsync()
{
// Get Authorization header value
if (!Request.Headers.TryGetValue(HeaderNames.Authorization, out var authorization)) {
return Task.FromResult(AuthenticateResult.Fail("Cannot read authorization header."));
}
// TODO: Authenticate user
// Create authenticated user ticket
var identities = new List<ClaimsIdentity> { new ClaimsIdentity("custom auth type") };
var ticket = new AuthenticationTicket(new ClaimsPrincipal(identities), Options.Scheme);
return Task.FromResult(AuthenticateResult.Success(ticket));
// else User not authenticated
return Task.FromResult(AuthenticateResult.Fail("Invalid auth key."));
}
Run Code Online (Sandbox Code Playgroud)
所以,我的问题是,如何在.NET Core …