[ad_1]
こんにちは、みんな、
ASP.NET 2012 開発フェーズ内の私の Web サイトには 3 つの役割 (管理者、メンバー、組織) があります。適切な Web 構成セキュリティ制限を使用して各フォルダーを実装しました。問題は、LogIn.cs 内のユーザー ロールに基づいてリダイレクトを実装した後です。プロジェクト階層内に存在しないデフォルトページについてスローされ、プロジェクトにデフォルトページが作成されていませんが、ホームページが開始として設定されています。
私が行って状況を改善しようとしたのは、マスター ページから継承する空のデフォルト ページを作成することでした。
提供された支援に非常に感謝しています。事前に感謝します。
これは私の Login.cs
C#
using System; using System.Collections.Generic; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; public partial class Login : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { { bool isAdministrator = Roles.IsUserInRole(User.Identity.Name, "Administrator"); bool isMembers= Roles.IsUserInRole(User.Identity.Name, "Members"); //if User is an admin, send to admin homepage, otherwise to account home page if (isAdministrator) Response.Redirect("~/Admin/SiteAdmin.aspx"); else if (isMembers) Response.Redirect("~/Members/Dashboard.aspx"); } } }
解決策 1
ログインページの読み込みイベントで、コードを書きますか? それは正しいです ? ログインページの読み込みでも取得できます
C#
bool isAdministrator = Roles.IsUserInRole(User.Identity.Name, "Administrator"); bool isMembers= Roles.IsUserInRole(User.Identity.Name, "Members");
またはボタンをクリックして取得しますか?
このようにして、 if フォームの else 部分を削除します。つまり、 if と else 、
C#
if (isAdministrator) Response.Redirect("~/Admin/SiteAdmin.aspx"); else (isMembers) Response.Redirect("~/Members/Dashboard.aspx");
または、このように試して、ボタンを1つ入れて、そのボタンをクリックしても、そのコードを書いて確認してください。
また
ログインページの読み込みイベントで、このコードのみを記述して確認します
Response.Redirect(“~/Admin/SiteAdmin.aspx”);
[ad_2]
コメント