下午,
我目前正在修复我的应用程序中的一些问题,并且遇到了一个非常严重且以前从未想过的问题。
在我的应用程序中,用户必须登录,并且当他们输入详细信息时,它会进入数据库并检查它们是否在那里,如果它们不是错误消息,如果它们是,则它们将被登录。 / p>
如果用户转到地址栏并更改登录页面:
"/Account/nLogin.aspx"
登录按钮后的页面:
"PolicySearch.aspx"
用户将被定向到该页面。有没有办法可以禁止用户使用地址栏从一个页面移动到另一个页面?
答案 0 :(得分:1)
将以下内容添加到您的web.config:
<authentication mode="Forms">
<forms name="myApp" loginUrl="/Account/nLogin.aspx" timeout="30" path="/" protection="All" />
</authentication>
<authorization>
<deny users="?" />
</authorization>
这将在您的应用中启用表单身份验证,强制用户通过loginUrl
访问登录页面,并拒绝通过deny users="?"
向匿名用户输入。 Here's the docs for it。然后将以下代码添加到nLogin.aspx.vb:
/* after make sure user credentials are valid. */
Web.Security.FormsAuthentication.RedirectFromLoginPage(username, false)
这将授权他们并将他们重定向到他们最初请求的任何页面。如果他们只导航到登录页面,那么您可以使用response.redirect
将其发送到其他位置。您可以查看docs以获取更多信息。