私の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を変更する必要があります。
これは私のUserLoginページです:
<%@ 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>
どうしたらいいのかわからない。他のフォーラムが提案したものは、私が以前に試したものと同じものですが、私にはうまくいきませんでした。