当我登录我必须被定向到一个特定的形式

问题描述:

我是新来的.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

+0

对于博客文章+1,因为我对你的事业充满信心。我不会再被ASP.NET登录控件陷入死亡。我最近发现了一些代码,其中验证由一个CSS友好适配器为Login控件处理 - 使用OnAuthenticate委托。荒谬。 – RPM1984 2010-09-21 00:12:07

+0

如果它不是关键任务信息,那么我只需使用OpenID(如同SO)。对于安全登录,我仍然使用内置身份验证,我稍微调整了它。 – 2010-09-21 04:03:07

您可以在web.config文件中进行设置:

<authentication mode="Forms"> 
    <forms ... defaultUrl="http://YourURL" /> 
</authentication> 

然后在您的登录按钮代码中添加对FormsAuthentication.RedirectFromLoginPage()的呼叫。