[DllImport("advapi32.dll")] private static extern bool LogonUser(string lpszUsername, string lpszDomain, string lpszPassword, int dwLogonType, int dwLogonProvider, ref IntPtr phToken); protected void Page_Load(object sender, EventArgs e) {
}
public bool ValidateUserAccount(string AstrDomainName, string AstrDomainAccount, string AstrDomainPassword) {
const int LOGON32_LOGON_INTERACTIVE = 2; //通过网络验证账户合法性
const int LOGON32_PROVIDER_DEFAULT = 0; //使用默认的Windows 2000/NT NTLM验证方
IntPtr tokenHandle = new IntPtr(0); tokenHandle = IntPtr.Zero;
string domainName = AstrDomainName; //域 如:officedomain string domainAccount = AstrDomainAccount; //域帐号 如:administrator string domainPassword = AstrDomainPassword;//密码 bool checkok = LogonUser(domainAccount, domainName, domainPassword, LOGON32_LOGON_INTERACTIVE, LOGON32_PROVIDER_DEFAULT, ref tokenHandle);
return checkok; }
protected void btnSave_Click(object sender, EventArgs e) { TransFollowing.BLL.Account accountMananger = new TransFollowing.BLL.Account(); string userName = txtUserName.Text.Trim(); string passWord = txtPassWord.Text.Trim();
if (ValidateUserAccount("域用户", txtUserName.Text.Trim(), txtPassWord.Text.Trim())) { //完全采用域用户来管理 FormsAuthenticationTicket ticket = new FormsAuthenticationTicket( 1, // version userName, // user name DateTime.Now, // issue time DateTime.Now.AddHours(1), // expires every hour false, // don't persist cookie "" // roles ); FormsAuthentication.SetAuthCookie(userName, false); Context.Response.Redirect("~/TransManage/TranManage.aspx"); } //else //{ // lbError.Visible = true; //}
}
|
请发表评论