2

这是我最后一个问题的延续(质量中心授权之上的 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

过去一天挠头想弄清楚出了什么问题,或者我是否错过了任何事情,但到目前为止没有成功,非常感谢任何帮助。

4

0 回答 0