这是我最后一个问题的延续(质量中心授权之上的 ASP.net 自定义成员资格)
开发 asp.net 应用程序以提供与惠普质量中心 (QC) 的自定义接口。它的登录页面将使用 QC'a API 来验证用户。还有一个 SQL 数据库,我在其中存储已注册到我的应用程序的 QC 用户(只需将 QC 用户 ID 存储在 DB 中,而不是密码,密码验证是使用 QC API 完成的)。
就像在 QC 中一样,我的登录页面有 2 组控件,
1. 用户 ID 和密码文本框 - 用户输入用户 ID 和密码并点击“验证” - 点击时,我检查用户是否在我的数据库中,如果找到,提供的凭据是使用 QC API
2 进行验证。QC 域和项目下拉列表 - 一旦用户在步骤 1 中通过身份验证,用户有权访问的 QC 域和项目将使用 QC API 拉出并填充到相应的下拉列表中。
用户选择域/项目并单击登录按钮。单击登录按钮时,我想设置 Set FormAuthentication cookie 并将用户重定向到一个页面,例如 - 'Authenticated' 目录中的 welcome.aspx。
问题——
在步骤 2 中单击“登录”按钮后,当我调用“ FormsAuthentication.RedirectFromLoginPage ”时,它会返回登录页面,而不是去welcome.aspx。
下面是我的 web.config:
<authentication mode="Forms">
<forms name=".AutoCenterAuth" loginUrl="~/Login.aspx" defaultUrl="~/authenticated/welcome.aspx" protection="None" timeout="30" requireSSL="false" slidingExpiration="true" cookieless="UseCookies" enableCrossAppRedirects="false"/>
</authentication>
<authorization>
<allow users="*"/>
</authorization>
..
..
<location path="Authenticated">
<system.web>
<authorization>
<deny users="?"/>
</authorization>
</system.web>
</location>
以下是 login.aspx 的 Login 按钮点击后的代码:
Private Sub btn_LoginToAC_Click(ByVal sender As Object,
ByVal e As System.Web.UI.ImageClickEventArgs) Handles btn_LoginToAC.Click
objQCSession = Session("QCUserSession")
'FormsAuthentication.SetAuthCookie(objQCSession.UserName, False)
FormsAuthentication.RedirectFromLoginPage(objQCSession.UserName, True)
End Sub
过去一天挠头想弄清楚出了什么问题,或者我是否错过了任何事情,但到目前为止没有成功,非常感谢任何帮助。