1

標準のメンバーシップ テーブルとログインを使用しています。ただし、何らかの理由でユーザーがログインすると、役割がありません。ユーザーが役割を果たしている場合、次のようにページにリダイレクトできるようにしたい:

if (User.IsInRole("TestRole"))
    RedirectToAction("Index", "MyController", new { area = "TestArea" });

これは失敗し、デバッグ中にユーザーに役割がないように見えます。ログインした後、Authorize 属性を持つページに直接移動した場合。できます。

このコードを使用する場合:

if (Roles.IsUserInRole(model.UserName, "TestRole"))
    RedirectToAction("Index", "MyController", new { area = "TestArea" });

動作しますが、現在ログインしているユーザーには適していません。技術的にはそうですが、ロールにいるかどうかに基づいてリダイレクトできるはずです。今直さないと、後々大変なことになると思います。(役割別メニューなど)

私が見ることができるヘルプや提案は素晴らしいでしょう。私は以前にこのようなことをしたことがありますが、これを引き起こす原因に困惑しています。

注:管理パネルを使用すると、ユーザーがシステムによってログインされていると見なされることがわかります(データベースに関して)

4

0 に答える 0