C#怎么实现AD+NT+Normal认证

本篇内容介绍了“C#怎么实现AD+NT+Normal认证”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

创新互联专注于宣汉网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供宣汉营销型网站建设,宣汉网站制作、宣汉网页设计、宣汉网站官网定制、微信小程序服务,打造宣汉网络公司原创品牌,更为您提供宣汉网站排名全网营销落地服务。

代码如下:

鉴于此,要使用Forms认证方式

1。web.config:    
      
    
 
    
         
    
    

2。login.aspx:
    
    
     

  

                   

            aa                          bb         

                  
     3.login.aspx.cs  DBAccess db = new DBAccess();     protected void Page_Load(object sender, EventArgs e)     {         //如果default.aspx没有做退出动作         if (Request.QueryString["Flag"] != "Y")         {             //初始化,抓取NT帐号             if (Request.ServerVariables["LOGON_USER"] != "")             {                 FormsAuthentication.RedirectFromLoginPage(Request.ServerVariables["LOGON_USER"], true);             }          }         //否则,进行Normal or AD验证         else         {                   }     }      protected void btnLogin_Click(object sender, EventArgs e)     {             //判断非AD账号             string strSql="select * from users where job=1 and account_ID='"+txtName.Text.Trim()+"' and psWrd='"+txtPwd.Text.Trim()+"'";             DataSet ds=db.GetDataSet(strSql);             clsData objData = new clsData();             //AD验证             if (objData.CheckNTAccount(txtName.Text, txtPwd.Text, drpDomain.SelectedValue))              {                 FormsAuthentication.RedirectFromLoginPage(txtName.Text, true);             }             //其他非AD账号             else if(ds.Tables[0].Rows.Count!=0)                 {                 FormsAuthentication.RedirectFromLoginPage(txtName.Text, true);             }             //如果不能成功登录,显示出错信息              else              {                 Response.Write("alert(\'请输入正确的密码,账号~\');");             }              } 4.default.aspx.cs     protected void lbtnLogout_Click(object sender, EventArgs e)     {         string strFlag = "flag=Y";         FormsAuthentication.RedirectToLoginPage(strFlag);     } 5.clsData.cs(AD验证) using System.DirectoryServices;   //此为AD验证的控件,一定要加载!!! ///  /// clsData 的摘要说明 ///  public class clsData {     public clsData()     {         //         // TODO: 在此处添加构造函数逻辑         //     }     public bool CheckNTAccount(string UserName, string Password, string Domain)     {         DirectoryEntry Ad;         //            DirectorySearcher ds;         string strLDAP = System.Configuration.ConfigurationSettings.AppSettings["LDAP"];         Ad = new DirectoryEntry(strLDAP, Domain + "\\" + UserName, Password, AuthenticationTypes.ServerBind);         try         {             object obj = Ad.NativeObject; //检查是否可正常登入                       return true;         }         catch (Exception)         {             return false;         }         finally         {             Ad.Dispose();         }     } } 6,DBAccess.cs

“C#怎么实现AD+NT+Normal认证”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注创新互联网站,小编将为大家输出更多高质量的实用文章!


网站题目:C#怎么实现AD+NT+Normal认证
URL标题:http://scyanting.com/article/picdsg.html