最近在给一个客户做项目,用户要求网站能使域用户实现单点登陆,而非域用户可以输入用户名,口令就可以登陆,很显然,传统的使网站设为基本身份认证(域认证),取消匿名认证不能满足需求,能否有另外一种方式呢?不管域用户还是非域用户都可以访问,而且经过基本的FORM验证,办法是有的。可以写一个共用方法,传入参数为域用户名和口令,去域中验证合法性,这样域用户就有一个用户名,两套口令了。
公用方法写法如下:
public bool CheckDomainUser(string uid, string pwd)
{
bool flag1;
try
{
if (pwd == null || pwd.Trim().Length == 0)
{
return false;
}
string sPath = "LDAP://bqc.corp.com";
DirectoryEntry entry1 = new DirectoryEntry(sPath, uid, pwd, AuthenticationTypes.ServerBind);
object obj1 = System.Runtime.CompilerServices.RuntimeHelpers.GetObjectValue(entry1.NativeObject);
flag1 = true;
}
catch
{
flag1 = false;
}
return flag1;
}

浙公网安备 33010602011771号