日期:2014-05-19  浏览次数:20351 次

关于forms身份验证的简单问题
从来没有使用过forms身份验证,今天简单看了看
有几个疑问,使用forms身份验证,是不是不能使用自己的用户数据库表了?
如果必须使用forms身份验证自带的用户数据表,那灵活性不就很差?
最后一个疑问,他的优点和缺点分别是什么?




------解决方案--------------------
比如


protected void btnSubmit_Click(object sender, System.EventArgs e)
{
if(UserName.Text== "xxxx " && PassWord.Text == "xxx ") //这行完全可以使用自己的数据库数据替代
{
FormsAuthentication.SetAuthCookie(UserName.Text,chkRememberMe.Checked, "/ ");
FormsAuthentication.RedirectFromLoginPage(UserName.Text,chkRememberMe.Checked);
}
}
------解决方案--------------------
最简单的方式就是可以使用web.config配置

<forms
name= ".ASPXAUTH "
loginUrl= "MyLogin.aspx "
defaultUrl= "Download/Download.aspx ">
<credentials passwordFormat= "Clear ">
<user name= "test " password= "test "/>
</credentials>
</forms>

protected void btn_Login_Click(object sender, EventArgs e)
{
if (FormsAuthentication.Authenticate( "test ", "test "))
FormsAuthentication.RedirectFromLoginPage( "test ", cb_RememberMe.Checked);
else
Response.Write( "用户名或者密码错误 ");
}

或者你可以使用自己的数据库,当然使用2。0的成员资格也是不错的选择