在我的 Web 应用程序中,我有 2 个用户和 2 个角色。我想根据角色将用户重定向到不同的页面。
我将以下代码用于 Login_LoggedIn 事件处理程序:
if(Roles.IsUserInRole(Login.UserName,"Member"))
Response.Redirect("~Protected/frmMemberHome.aspx");
else if(Roles.IsUserInRole(Login.UserName,"Admin"))
Response.Redirect("~Admin/frmAdminPanel.aspx");
现在,这对我不起作用。该事件不会自行触发。就我而言,成功登录后,只有登录页面会自动刷新,并且绝对没有任何反应。
网上有些论坛建议设置ASP.NET的登录控件的DestinationPageURL属性,但我的问题是不能将所有用户重定向到同一个URL,我需要根据角色更改DestinationPageURL。
这是我的用户登录页面:
<%@ Page Title="" Language="C#" MasterPageFile="~/mainLayout.Master" AutoEventWireup="true" CodeBehind="frmUserLogin.aspx.cs" Inherits="OnlineTMS_MIST.frmUserLogin" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
<asp:Login ID="Login" runat="server"
DisplayRememberMe="False">
</asp:Login>
</asp:Content>
我不知道该怎么做。无论其他论坛建议什么,我之前尝试过的都是一样的,但对我没有用。