1form验证用户,禁止匿名登录。
如果用session来验证用户身份,也不是不可以。但是session是服务器端的资源,这对网站的性能影响是很大的。现在,很多网站都是用form来验证身份。首先,打开IIS,设置匿名访问为禁止,form访问为允许。
然后,就是在Web.config中,<system.web>下输入
<authentication mode="Forms">
<forms loginUrl="login.aspx" timeout="2880" protection="All" /> //如果不合法,则跳到登录页面,包括所有人。
</authentication>
<authorization>
<deny users="?"/> //拒绝匿名的用户来访问,
</authorization> //这两个标记必须同时使用,否则就无效。
这样,你打开主页面时,就会自动跳到登录页面。
2一旦报异常,跳到一个指定的页面。
网页崩溃是极其严重的事情,所以我们可以指定一个报错页面。
在Web.config中<system.web>下输入
<customErrors defaultRedirect ="error.aspx" mode ="On"/>
然后,新建一个error.aspx页面,
你可以说“发生了未知的问题,您可以重新执行您的上一部操作,如果还有问题,请联系我们。”
3是否记住cookies和删除cookies
在登录页面中经常有是否记住密码,其实这就是一个cookies,如果记住,就是保留在客户端,否则,就是登录成功就删除。
如果保留cookies,你后来又想下一次还是登录吧,这是也可以在其他页面删除这个cookies,(强制踢出用户)。
if (true)//可以去跟数据库判断
{
//获取一个用户名,记录下来。第二个参数是true或false,指的是是否保留这个cookies,即是否记住,下次是否还要登录。
System.Web.Security.FormsAuthentication.RedirectFromLoginPage(TextBox1.Text,CheckBox1.Checked);
}
else
{
Response.Write("登录失败");
}
如果,记住了该cookies,下次不用去登录了,但是后来又改变了注意。这是可以在main.aspx 中踢出用户。
protected void Button2_Click(object sender, EventArgs e)
{
System.Web.Security.FormsAuthentication.SignOut();//踢出去
}
这样再刷新页面是,就到了登录页面了。
4在web.config中连接数据库
在<configuration>下,输入
<appSettings>
<add key="conn" value="server=.;database=JiFangCharge;uid=sa;pwd=123456;"/>
</appSettings>
它跟<system.web>是平行的。
在其他页面中获取conn
SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationManager.AppSettings["con"]);
conn.Open();
SqlCommand cmd = new SqlCommand("select * from [user]",conn);
GridView1.DataSource = cmd.ExecuteReader();
GridView1.DataBind();
这样就查到了数据库中的表。