2013-03-18 2 views
1

일단 로그인하면 webmatrix2 시작 사이트에 다음 링크가 있습니다. "hello" [email protected] {logout}Webmatrix2 - URL은 면도기의 UserRole에 따라 다름

링크를 클릭하면 관리 섹션으로 이동하게되지만 로그인 한 회원의 역할에 따라 맞춤 관리 사용자 프로필 페이지 또는 비즈니스 프로필 페이지로 이동하고 싶습니다. 그래서 본질적으로 코드 사용자 역할을 확인한 다음 해당 역할에 따라 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> 

답변

1

당신은 당신이 Roles.IsUserInRole() 메소드를 사용하여 확인할 수 있습니다 역할에 따라 링크를 렌더링하는 조건 블록을 사용할 수 있습니다 그대로 링크를 남길 수 있습니다

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

또는를 관리 페이지에 착륙 한 사용자가 어떤 역할을 맡았는지 결정합니다.

+0

안녕하세요, 마이크 덕분에 완벽하게 작동했습니다. 아래 업데이트 된 코드를 추가했습니다. 많은 감사 단 – daninoz

+0

@if (WebSecurity.IsAuthenticated) { 안녕하세요, @if (Roles.IsUserInRole ("사용자")) { } @if (Roles.IsUserInRole ("상인")) { } daninoz