1

我想知道是否有人知道在您成功登录后覆盖页面将您带到何处的 URL 的正确/最佳实践方法。

我试过这个:

   protected void Login1_LoggedIn(object sender, EventArgs e)
        {
           if (Roles.IsUserInRole(Login1.UserName, "Other"))
            {
                Response.Redirect("/User/");
            }
            else if (Roles.IsUserInRole(Login1.UserName, "Administrator"))
            {
                Response.Redirect("/Admin/");

            }
        }

有没有人有任何其他建议?

4

3 回答 3

3

您可以将以下元素添加到 Web.config 中。所以它只会设置在一个地方:

<loginRedirectByRole>
  <roleRedirects>
      <add role="Administrator" url="~/Admin/Page.aspx" />
      <add role="User" url="~/User/Page.aspx" />
  </roleRedirects>
</loginRedirectByRole>

您仍然需要在代码中进行重定向 - 请参阅完整文章

于 2009-03-13T13:43:18.033 回答
0

我所做的是将它们发送到一个页面,该页面将重定向到 Init (Page_Init) 上的正确位置

于 2009-03-13T13:28:25.107 回答
0
HttpContext.Current.Response.RedirectLocation 

“获取或设置 HTTP 标头‘位置’中的重定向位置”

这最初由查询字符串中的“ReturnUrl”设置。

于 2009-03-13T13:44:41.713 回答