我正在使用asp.net登录控件和切换器来让我的用户对外部数据库进行身份验证。我现在明确引用我的会员提供商。
使用切换台:
var user = Membership.GetUser(Membership.GetUserNameByEmail(ApplicantLogin.UserName));
Membership.ValidateUser(user.UserName, ApplicantLogin.Password)
不使用切换台:
var userName = Membership.Providers["Extranet"].GetUserNameByEmail(ApplicantLogin.UserName);
var user = Membership.Providers["Extranet"].GetUser(userName, true)
Membership.Providers["Extranet"].ValidateUser(user.UserName, ApplicantLogin.Password)
我的网络配置中定义了Extranet
。这两个示例似乎都可以使用我的切换器,一旦用户通过验证并通过身份验证,用户就会被重定向到我的DestinationPageUrl
定义的URL。
如果不使用切换器,用户将获得身份验证,但由于某种原因未被重定向。我不确定为什么会这样。
如果我在验证用户后执行了response.redirect,那么也没有任何反应。它保留在登录页面上。
任何帮助都将不胜感激。
由于
答案 0 :(得分:0)
您是否确定在不使用切换台时对用户进行了身份验证?您可以通过实施 OnAuthenticate事件:
来调试此问题http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.login.authenticate(v=vs.100).aspx
一旦您确定用户经过了相应的身份验证,请尝试实施 LoggedIn事件,然后在那里添加 Response.Redirect():
http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.login.loggedin(v=vs.110).aspx