在我的用户登录页面中,我有两个文本框,一个用于插入用户名,另一个用于插入密码,我有一个按钮可以提交。
如果用户名和密码正确,则重定向到下一页,即欢迎页面。现在我的问题是:
如果我直接在浏览器上键入欢迎页面 url,那么该页面会在不检查用户名和密码的情况下加载,但我想停止此操作,如何实现?
最好的是,在输入用户名和密码后,如果两者都匹配,则应将其与数据库值进行比较,然后转到登录页面,否则会显示无效的用户名或传递错误
这是有关如何实现Forms Authentication的文档。
在欢迎页面的页面加载事件上。检查以下条件以确保请求是否已通过身份验证。
if(!IsAuthenticated)
{
Response.Redirect("~/Login.aspx");
}
有关设置身份验证选项的完整参考,请参阅:http: //msdn.microsoft.com/en-us/library/xdt4thhy%28v=vs.100%29.aspx
最常见的身份验证是在您的数据库中有一个存储凭据的表。单击登录按钮时,如果存在数据库,则根据您的数据库验证凭据,添加一个会话变量,该变量存储诸如用户名或用户 ID 之类的内容。在您的母版页中检查是否如果将他们重定向到登录页面,则 session 为 null
如果您想对非授权用户隐藏某些内容,您可以[Authorize]
在完整控制器或某些操作上使用属性。这会将用户重定向到 web.config 文件<authentication>
部分中指定的默认页面