使用ASP.NET成员资格的多个登录页面

时间:2010-02-18 00:11:23

标签: asp.net asp.net-membership

我正在尝试为我正在创建的ASP.NET网站创建两个ASP.NET成员资格登录页面。

这是结构:

/ - Anonymous Access for page off root

/registeredUser - Must be part of RegisteredUser Role
/registeredUser/login.aspx - Login page Registered Users  

/admin - Must be part of AdminUser Role
/admin/login.aspx - Login page Admin Users

另一个人问了这个问题,并建议在web.confg中使用位置标记: Redirect user to Mulitple Login Pages using ASP.NET Membership

但是我收到与在位置路径中使用正斜杠/相关的错误。我删除了正斜杠,忽略了安全规则。

所以我的问题是,我是否可以使用ASP.NET成员资格拥有多个登录页面,而无需在IIS中创建单独的应用程序?

2 个答案:

答案 0 :(得分:0)

使用一个登录页面并调用ascx控件

这将需要单个网址,并且在aspx登录页面上自定义显示将很容易

答案 1 :(得分:0)

我提出的解决方案是将用户从页面加载事件中的默认登录页面重定向到其他登录页面:

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
  Dim returnURL As String = Request.QueryString("ReturnUrl")

  If returnURL <> String.Empty AndAlso returnURL.Contains("registeredUser") Then
     Response.Redirect("~/registeredUser/login.aspx?" & AntiXss.UrlEncode(returnURL))
  End If
End Sub

这是基于David Qain在http://forums.asp.net/t/1348477.aspx

的建议