熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

在ASP.NET中使用Windows登錄[2]

2013-11-13 12:16:11  來源: .NET編程 
    ——此文章摘自《ASPNET網絡數據庫開發實例精解》定價 特價 詳細>>

    .設計頁面WindowsLoginaspx的事件和函數

    應用程序Example__中的頁面WindowsLoginaspx使用Windows登錄驗證並且調用了Windows的動態鏈接庫文件advapidll因此需要引入名字空間SystemWebSecuritySystem RuntimeInteropServices和SystemSecurityPrincipal引入名字空間的程序代碼如下
    using SystemSecurityPrincipal;
    using SystemWebSecurity;
    using SystemRuntimeInteropServices;

    頁面WindowsLoginaspx使用函數LogonUser()調用Windows的動態鏈接庫實現用戶的Windows登錄函數LogonUser()的程序代碼如下
    [DllImport(advapidll)]                          //引入Windows的API
    public static extern bool LogonUser(
    string lpszUsername
    string lpszDomain
    string lpszPassword
    int dwLogonType
    int dwLogonProvider
    out int phToken
    );

    頁面WindowsLoginaspx使用函數Login(string UserName string Password string Domain)和AuthenticateUser(string UserName string Password string Domain)實現Windows登錄函數Login()可以分為兩部分前一部分用來處理用戶的輸入後一部分用來調用函數 AuthenticateUser()實現用戶的Windows登錄函數Login()和AuthenticateUser()的程序代碼如下
    private bool Login(string UserName string Password string Domain)
    {       //獲取用戶名稱和系統域名
    string text = DomainTrim();
    string text = UserNameTrim();
    text = textReplace(/ @\);      //處理符號/
    int num = textIndexOf(\\);        //獲取符號\的索引
    if(num != )
    {   //格式化用戶名稱和系統域名
    text = textSubstring( num);
    text = textSubstring(num + );
    }
    else
    {   //格式化用戶名稱和系統域名
    num = textIndexOf(@);
    if(num != )
    {
    text = textSubstring(num + );
    text = textSubstring( num);
    }
    }
    //調用函數AuthenticateUser()實現用戶Windows登錄
    return AuthenticateUser(text PasswordTrim() text);
    }

[]  []  []  []  


From:http://tw.wingwit.com/Article/program/net/201311/15539.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.