我希望得到一个用户在Active Directory中成为其成员的所有组的列表,这两个组都明确列在memberOf属性列表中,也隐式通过嵌套组成员身份列出.例如,如果我检查UserA并且UserA是GroupA和GroupB的一部分,我还想列出GroupC,如果GroupB是GroupC的成员.
为了让您更深入地了解我的应用程序,我将在有限的基础上进行此操作.基本上,我偶尔会想要进行安全检查,以便列出这些额外的会员资格.我想区分这两者,但这应该不难.
我的问题是我没有找到一种有效的方法来使这个查询工作.Active Directory上的标准文本(此CodeProject文章)显示了一种基本上是递归查找的方法.这似乎非常低效.即使在我的小域中,用户也可能拥有30多个组成员资格.这意味着为一个用户调用30多个Active Directory.
我查看了以下LDAP代码,以便一次获取所有memberOf条目:
(memberOf:1.2.840.113556.1.4.1941:={0})
Run Code Online (Sandbox Code Playgroud)
其中{0}将是我的LDAP路径(例如:CN = UserA,OU = Users,DC = foo,DC = org).但是,它不会返回任何记录.这种方法的缺点,即使它起作用,也就是我不知道哪个组是明确的,哪个是隐含的.
这就是我到目前为止所拥有的.我想知道是否有比CodeProject文章更好的方法,如果有的话,如何实现(实际代码将是美好的).我使用的是.NET 4.0和C#.我的Active Directory处于Windows 2008功能级别(它还不是R2).
我希望使用angular-dragula模块(https://github.com/bevacqua/angular-dragula)在我的Angular项目中实现Drag and Drop .但是,它似乎严重依赖于RequireJS.我没有使用Require一段时间,只有一两个示例应用程序.有没有一种简单的方法来解开这个模块的需求?
作者似乎认为它很简单(https://github.com/bevacqua/angular-dragula/issues/23)并且在没有真正解释的情况下也关闭了类似的问题.我查看了代码,但没有看到如何加载模块而没有将RequireJS添加到我的项目中(我不想这样做).我是否坚持使用不使用此模块或添加Require或是否有办法在没有要求的情况下使用此模块?
我正在尝试获取一个查询,该查询为我提供表Users中的UserNames,用户从表Job2User获取的Jobs数,以及用户从表Place2User中获取的Places数.
以下查询将两个计数列的值相乘.例如,如果对于用户1,作业计数应为2且位置计数应为4,则用户1行中的两列将显示"8".我不确定我做错了什么:
SELECT `UserName`, COUNT(`Job2User`.`UserID`), COUNT(`Place2User`.`UserID`)
FROM `Users`
LEFT JOIN `Job2User` ON `Job2User`.`UserID`=`Users`.`UserID`
LEFT JOIN `Place2User` ON `Place2User`.`UserID`=`Users`.`UserID`
GROUP BY `UserName`;
Run Code Online (Sandbox Code Playgroud) 我有一个问题,所有的权利都不应该失败,我不能为我的生活找出原因
INSERT INTO Grocery_Store_Prices(Store,Item,Brand,Price,Unit,Quantity,Note)
VALUES("Kroger","Cheesy Poof","Cartman",0.51,"fart",15,"what is going on");
Run Code Online (Sandbox Code Playgroud)
当我尝试运行查询时,我收到"INSERT INTO语句中的语法错误",并突出显示"注释"字段.如果我省略Note字段及其值,查询工作正常.有什么东西真的很明显我不见了,还是有一个Jet SQL怪癖埋在这里?
它所采用的表是:Grocery_Store_Prices
我已经为我的客户部署了大量软件.主要是Window Forms应用程序.这是我目前的做法.
我甚至尝试过编写数据库更新脚本.每次程序启动时,它将读取.sql更新文件并在数据库存在时运行它们.这解决了更新数据库列的问题,但是当我的客户抱怨数据错误时,它在我的DEBUGGING工作中没有帮助.那时,我必须亲自前往他们的网站查看.
我发现很难在客户端PC上安装数据库,因为它使我的调试工作非常困难.我正在考虑将我的客户端数据库移动到在线服务器上的主机.但那就是这些限制:
你能帮忙建议我吗?这是开发人员面临的常见问题吗?有什么常见的做法?Window Azure或SQL CE有帮助吗?
根据程序中的某个变量,有一个参数可以为NULL的select查询的最佳方法是什么?
我可以想到两个解决方案(伪代码):
bool valueIsNull;
int value;
query = "SELECT * FROM table WHERE field ";
if (valueIsNull)
{
query += "IS NULL";
}
else
{
query += "= ?";
}
statement st = sql.prepare(query);
if (!valueIsNull)
{
st.bind(0, value);
}
Run Code Online (Sandbox Code Playgroud)
要么
bool valueIsNull;
int value;
query = "SELECT * FROM table WHERE field = ? OR (? IS NULL AND field IS NULL)";
statement st = sql.prepare(query);
if (valueIsNull)
{
st.bindNull(0);
st.bindNull(1);
}
else
{
st.bind(0, value);
st.bind(1, value);
} …Run Code Online (Sandbox Code Playgroud)