我有一个用C#编写的登录表单,我只希望AD用户能够登录 我该怎么做?
string UserName = "";
string Pass = "";
答案 0 :(得分:0)
我确信这不是最佳做法,但是,根据您的安全需求,您可以通过只检查UserDomainName
中的Form_Load
来允许所有域用户并排除本地用户。这种简单的方法可以依赖于他们的计算机登录,并且没有任何LDAP / AD调用的复杂性。
if (SystemInformation.UserDomainName.ToString() == "myDomain")
{
// your normal form load code here
}
else
{
form1.Close(); //this is a simple but effective to pull the rug out from
//under them if they do not have the permissions
//TODO email the application administrator the `SystemInformation.UserName` of the user who was not given permissions
}
在我的环境中,由于我们的内部应用程序是通过ClickOnce
部署的(每台计算机按用户安装),因此类似的方法(我们也比较用户名)对我们来说已经足够了。
答案 1 :(得分:0)
虽然它不是ASP.Net应用程序,但活动目录成员资格提供程序可以正常工作。
以下是有关如何使用此库的信息:
http://msdn.microsoft.com/en-us/library/system.web.security.activedirectorymembershipprovider.aspx
以下是更多信息:
答案 2 :(得分:0)
如果您想知道如何验证Active Directory的凭据以便在您的应用程序中允许AD用户,您应该检查this。
您将找到如何验证文本框的内容并验证用户名和passowrd是否匹配(直接与AD匹配)。