2014 相信自己能做的更好

---------------------------------------------------------------------------------------------------------
Everything is possible    Nothing is Impossible     
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

域认证的两种方式

Posted on 2006-11-20 09:20  Arping.Net探索  阅读(3948)  评论(9)    收藏  举报

         最近在给一个客户做项目,用户要求网站能使域用户实现单点登陆,而非域用户可以输入用户名,口令就可以登陆,很显然,传统的使网站设为基本身份认证(域认证),取消匿名认证不能满足需求,能否有另外一种方式呢?不管域用户还是非域用户都可以访问,而且经过基本的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;
        }