大家早上好!
有人可以帮助我解决我在尝试将用户(基于特定角色)重定向到另一个页面时遇到的问题,因为我浪费了一天的时间并且它仍然没有排序:(。< / p>
无论我登录的是什么角色,系统都会将我重定向到同一页面,即:&#34; TESTPAGE1.aspx&#34;,当我在“OnLoggedIn&#39;事件。但是在页面加载和#39;上工作正常。事件。我希望此操作只发生一次,即仅当用户使用用户名和密码登录时,而不是每当用户访问相关页面或刷新它时,我都不会将其放在页面加载&#39;页面加载&# 39;事件
我实际上想要实现的目标是:
&#39;登录页面上有两个标签&#39; 1 GT;对于客户登录和2&gt;员工登录。
每当员工尝试使用“客户端”选项卡登录时:
他们应该被注销并重定向到TESTPAGE1.aspx,我将在那里传达 必要的信息。
每当客户端尝试使用“客户端”选项卡登录时:
他们应该成功登录并重定向到TESTPAGE2.aspx,这将是
我的主页。
<asp:LoginView ID="LoginView1" runat="server" >
<AnonymousTemplate>
<asp:Login ID="Login1" runat="server" EnableViewState="true" OnLoggedIn="Login1_LoggedIn" >
</asp:Login>
</AnonymousTemplate>
<LoggedInTemplate>
<asp:LoginName ID="LoginName2" runat="server" FormatString="You are already logged in as {0}" />
</LoggedInTemplate>
</asp:LoginView>
&#13;
protected void Login1_LoggedIn(object sender, EventArgs e)
{
if (!User.IsInRole("Client"))
{
Response.Redirect("~/FAQs.aspx");
}
else
{
Response.Redirect("~/Home.aspx");
}
}
答案 0 :(得分:0)
哟!最后,我设法使用以下代码正确使用:
protected void Login1_LoggedIn(object sender, EventArgs e)
{
if (Roles.IsUserInRole(Login1.UserName, "Client"))
Response.Redirect("~/TestONE.aspx");
else if (Roles.IsUserInRole(Login1.UserName, "Technician"))
Response.Redirect("~/TestTWO.aspx");
}