当我登录我必须被定向到一个特定的形式
问题描述:
我是新来的.net。我用登录创建了一个页面。当我登录我必须被定向到一个特定的形式
当我输入信息并且用户名和密码匹配时,“我的主页”文本变成超链接,当我单击超链接时,它会将我引导至配置文件Web表单。
我需要修改代码的方式是,当登录详细信息匹配时,页面应直接指向配置文件web表单,而不必单击超链接。我需要这个问题的代码。
谢谢你
答
你需要在你的代码背后做到这一点。在这些行上添加一些内容到您的登录按钮点击事件中。
Protected Sub Login_OnClick(ByVal sender As Object, ByVal e As System.EventArgs)
If Page.IsValid Then
If Membership.ValidateUser(txtUsr.Text, txtPass.Text) Then
FormsAuthentication.RedirectFromLoginPage(txtUsr.Text, RememberMe.Checked)
Else
FailureText.Visible = True
End If
End If
End Sub
这是我写的一篇博客文章。
http://dotnetblogger.com/post/2010/01/11/ASPNET-Membership-Remember-Me-That-Actually-Works.aspx
不要忘记设置默认在web.config重定向
<authentication mode="Forms">
<forms loginUrl="login.aspx" defaultUrl="default.aspx" />
</authentication>
MDSN:http://msdn.microsoft.com/en-us/library/system.web.security.formsauthentication.defaulturl.aspx
答
您可以在web.config文件中进行设置:
<authentication mode="Forms">
<forms ... defaultUrl="http://YourURL" />
</authentication>
然后在您的登录按钮代码中添加对FormsAuthentication.RedirectFromLoginPage()
的呼叫。
对于博客文章+1,因为我对你的事业充满信心。我不会再被ASP.NET登录控件陷入死亡。我最近发现了一些代码,其中验证由一个CSS友好适配器为Login控件处理 - 使用OnAuthenticate委托。荒谬。 – RPM1984 2010-09-21 00:12:07
如果它不是关键任务信息,那么我只需使用OpenID(如同SO)。对于安全登录,我仍然使用内置身份验证,我稍微调整了它。 – 2010-09-21 04:03:07