1

ログインすると、webmatrix2 スターター サイトに次のリンクがあります。"hello" bob@example.com {logout}

リンクをクリックすると管理セクションに移動しますが、ログインしたメンバーの役割に応じて、カスタムの管理ユーザー プロファイル ページまたはビジネス プロファイル ページに移動したいと考えています。基本的に、コードはユーザーの役割をチェックします。そして、その役割に応じて、url(ユーザーマネージャー) または (管理者マネージャー) にリダイレクトします

かみそりでプログラム的にこれを行う方法はありますか。

 <section id="login">
   @if (WebSecurity.IsAuthenticated) {
     <text>Hello, <a class="email" href="~/Account/Manage"                             title="Manage">@WebSecurity.CurrentUserName</a>!

       <form id="logoutForm" action="~/Account/Logout" method="post">
         @AntiForgery.GetHtml()
           <a href="javascript:document.getElementById('logoutForm').submit()">Log out</a>
       </form>
     </text>
   } else {
           <ul>
              <li><a href="~/Account/Register-User">Register</a></li>
              <li><a href="~/Account/Login">Log in</a></li>
            </ul>
         }
       </section>
4

1 に答える 1

1

Roles.IsUserInRole() メソッドを使用して決定できるロールに応じて、条件付きブロックを使用してリンクをレンダリングできます。

@if(Roles.IsUserInRole("User Manager")){
    <a href="~/ManageUser">Click</a>
}
@if(Roles.IsUserInRole("AdminManager")){
    <a href="~/ManageAdmin">Click</a>
}

または、リンクをそのままにして、ユーザーが [管理] ページに到達したら、ユーザーがどの役割に属しているかを判断することもできます。

于 2013-03-18T07:36:29.023 に答える