使用Login控件,结合MembershipProvider,UI里不需要任何代码。WEB.CONFIG的配置,放到system.web之内: <authentication mode="Forms"> <forms loginUrl="logon.aspx"/> </authentication> <membership defaultProvider="MyMembership"> <providers> <clear /> <add name="MyMembership" type="YourNameSpace.YourMembership" applicationName="YourApplicationName" /> </providers> </membership>//这段放到 system.Web之外 <location path="需要验证访问的WEB文件夹,所有需要验证访问的aspx文件都放到这个文件夹里"> <system.web> <authorization> <deny users="?"/> </authorization> </system.web> </location>代码: public class YourMembership:MembershipProvider { public override string ApplicationName { get { return this.ApplicationName; } set { this.ApplicationName = value; } } public override bool ValidateUser(string username, string password) { //联接数据库验证用户名和密码。返回true or false; }//下面的方法根据LoginControl需要实现。 public override bool ChangePassword(string username, string oldPassword, string newPassword) { throw new NotImplementedException(); } public override bool ChangePasswordQuestionAndAnswer(string username, string password, string newPasswordQuestion, string newPasswordAnswer) { throw new NotImplementedException(); } public override MembershipUser CreateUser(string username, string password, string email, string passwordQuestion, string passwordAnswer, bool isApproved, object providerUserKey, out MembershipCreateStatus status) { throw new NotImplementedException(); } public override bool DeleteUser(string username, bool deleteAllRelatedData) { throw new NotImplementedException(); } public override bool EnablePasswordReset { get { throw new NotImplementedException(); } } public override bool EnablePasswordRetrieval { get { throw new NotImplementedException(); } } public override MembershipUserCollection FindUsersByEmail(string emailToMatch, int pageIndex, int pageSize, out int totalRecords) { throw new NotImplementedException(); } public override MembershipUserCollection FindUsersByName(string usernameToMatch, int pageIndex, int pageSize, out int totalRecords) { throw new NotImplementedException(); } public override MembershipUserCollection GetAllUsers(int pageIndex, int pageSize, out int totalRecords) { throw new NotImplementedException(); } public override int GetNumberOfUsersOnline() { throw new NotImplementedException(); } public override string GetPassword(string username, string answer) { throw new NotImplementedException(); } public override MembershipUser GetUser(string username, bool userIsOnline) { throw new NotImplementedException(); } public override MembershipUser GetUser(object providerUserKey, bool userIsOnline) { throw new NotImplementedException(); } public override string GetUserNameByEmail(string email) { throw new NotImplementedException(); } public override int MaxInvalidPasswordAttempts { get { throw new NotImplementedException(); } } public override int MinRequiredNonAlphanumericCharacters { get { throw new NotImplementedException(); } } public override int MinRequiredPasswordLength { get { throw new NotImplementedException(); } } public override int PasswordAttemptWindow { get { throw new NotImplementedException(); } } public override MembershipPasswordFormat PasswordFormat { get { throw new NotImplementedException(); } } public override string PasswordStrengthRegularExpression { get { throw new NotImplementedException(); } } public override bool RequiresQuestionAndAnswer { get { throw new NotImplementedException(); } } public override bool RequiresUniqueEmail { get { throw new NotImplementedException(); } } public override string ResetPassword(string username, string answer) { throw new NotImplementedException(); } public override bool UnlockUser(string userName) { throw new NotImplementedException(); } public override void UpdateUser(MembershipUser user) { throw new NotImplementedException(); } }
tb.Text.Trim();UserName是你TextBox 控件的ID
<authentication mode="Forms">
<forms loginUrl="logon.aspx"/>
</authentication> <membership defaultProvider="MyMembership">
<providers>
<clear />
<add name="MyMembership" type="YourNameSpace.YourMembership" applicationName="YourApplicationName" />
</providers>
</membership>//这段放到 system.Web之外
<location path="需要验证访问的WEB文件夹,所有需要验证访问的aspx文件都放到这个文件夹里">
<system.web>
<authorization>
<deny users="?"/>
</authorization>
</system.web>
</location>代码:
public class YourMembership:MembershipProvider
{
public override string ApplicationName
{
get
{
return this.ApplicationName;
}
set
{
this.ApplicationName = value;
}
} public override bool ValidateUser(string username, string password)
{
//联接数据库验证用户名和密码。返回true or false;
}//下面的方法根据LoginControl需要实现。
public override bool ChangePassword(string username, string oldPassword, string newPassword)
{
throw new NotImplementedException();
} public override bool ChangePasswordQuestionAndAnswer(string username, string password, string newPasswordQuestion, string newPasswordAnswer)
{
throw new NotImplementedException();
} public override MembershipUser CreateUser(string username, string password, string email, string passwordQuestion, string passwordAnswer, bool isApproved, object providerUserKey, out MembershipCreateStatus status)
{
throw new NotImplementedException();
} public override bool DeleteUser(string username, bool deleteAllRelatedData)
{
throw new NotImplementedException();
} public override bool EnablePasswordReset
{
get { throw new NotImplementedException(); }
} public override bool EnablePasswordRetrieval
{
get { throw new NotImplementedException(); }
} public override MembershipUserCollection FindUsersByEmail(string emailToMatch, int pageIndex, int pageSize, out int totalRecords)
{
throw new NotImplementedException();
} public override MembershipUserCollection FindUsersByName(string usernameToMatch, int pageIndex, int pageSize, out int totalRecords)
{
throw new NotImplementedException();
} public override MembershipUserCollection GetAllUsers(int pageIndex, int pageSize, out int totalRecords)
{
throw new NotImplementedException();
} public override int GetNumberOfUsersOnline()
{
throw new NotImplementedException();
} public override string GetPassword(string username, string answer)
{
throw new NotImplementedException();
} public override MembershipUser GetUser(string username, bool userIsOnline)
{
throw new NotImplementedException();
} public override MembershipUser GetUser(object providerUserKey, bool userIsOnline)
{
throw new NotImplementedException();
} public override string GetUserNameByEmail(string email)
{
throw new NotImplementedException();
} public override int MaxInvalidPasswordAttempts
{
get { throw new NotImplementedException(); }
} public override int MinRequiredNonAlphanumericCharacters
{
get { throw new NotImplementedException(); }
} public override int MinRequiredPasswordLength
{
get { throw new NotImplementedException(); }
} public override int PasswordAttemptWindow
{
get { throw new NotImplementedException(); }
} public override MembershipPasswordFormat PasswordFormat
{
get { throw new NotImplementedException(); }
} public override string PasswordStrengthRegularExpression
{
get { throw new NotImplementedException(); }
} public override bool RequiresQuestionAndAnswer
{
get { throw new NotImplementedException(); }
} public override bool RequiresUniqueEmail
{
get { throw new NotImplementedException(); }
} public override string ResetPassword(string username, string answer)
{
throw new NotImplementedException();
} public override bool UnlockUser(string userName)
{
throw new NotImplementedException();
} public override void UpdateUser(MembershipUser user)
{
throw new NotImplementedException();
}
}