如何拒绝直接访问页面,只能通过登录访问

时间:2012-03-09 05:58:24

标签: c# asp.net sql

我有2个文本框和1个按钮,即登录页面。 将密码加密为哈希,然后与数据库中的哈希传递进行比较,如何在button1上访问管理页面,但仅限于如果您已登录,并且如果您直接在浏览器中访问管理页面而您未登录它。无法工作并将您重定向到登录页面。

Thankss

2 个答案:

答案 0 :(得分:2)

您最好的选择是使用FormsAuthentication。您不必使用Login控件,只需滚动自己的。这是一个简单的教程:http://bradkingsley.com/securing-asp-net-pages-forms-authentication-c-and-net-4/

如果我找不到更好的样本,我会尝试找到涵盖数据库身份验证的内容,或者自己编写一些内容。

HTH。

修改

以下是Scott Mitchell的两个相当广泛的教程,展示了如何使用web.config文件来保护页面:

基于用户: http://www.asp.net/web-forms/tutorials/security/membership/user-based-authorization-cs

基于角色: http://www.asp.net/web-forms/tutorials/security/roles/role-based-authorization-cs

最佳实践说使用角色而不是特定用户,但第二个教程建立在第一个教程的基础上,因此我建议同时阅读它们。

答案 1 :(得分:0)

我认为您正在使用表单身份验证。有一个名为ReturnUrl的属性,您需要在成功登录后分配URL重定向。看看这个网址

http://support.microsoft.com/kb/301240