1

登录后,在 webmatrix2 入门站点中,有一个以下链接;"hello" bob@example.com {logout}

单击该链接将带您进入管理部分,但我希望它根据登录成员的角色转到自定义管理用户个人资料页面或业务个人资料页面。因此,本质上代码将检查用户角色然后根据该角色重定向到 url(user manager) 或 (admin manager)

有没有办法在剃须刀中以编程方式执行此操作。

 <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 回答