【发布时间】:2016-03-16 16:49:45
【问题描述】:
我正在尝试在我的 Web 应用程序中进行一些组比较,并想查看当前用户是否在我存储在 SQL 表中的某个组列表中。我目前正在使用这种方法将我的组放在一个数组中......
public ArrayList GetGroups()
{
ArrayList groups = new ArrayList();
foreach (System.Security.Principal.IdentityReference group in
System.Web.HttpContext.Current.Request.LogonUserIdentity.Groups)
{
groups.Add(group.Translate(typeof
(System.Security.Principal.NTAccount)).ToString());
}
return groups;
}
从这里我可以通过这样做检查用户是否在某个组中
ArrayList al = new ArrayList();
al = GetGroups();
foreach (string s in al)
{
if (s == "some_group")
{
//do this;
}
}
我可以让它为单个甚至几个组工作,但我有一个包含大约 20 个组的 SQL 表,我只是想在数组和我的 SQL 表之间进行某种比较。我尝试使用数据集并比较它们,但我无法让它工作。感谢任何建议,我只是在学习如何在 C# 中工作。谢谢。
【问题讨论】:
-
试试 LINQ 怎么样?
-
使用 al.Contains("some_group") 怎么样?你会摆脱那个foreach。
-
我可以使用 LINQ。我会看看我能不能把任何东西放在一起。我从来没用过。
标签: c# sql asp.net arrays dataset