1

좋아요. 처음부터 일부 웹 응용 프로그램을 개발 중입니다. 튜토리얼 LoginRegistration의 간단한 데이터베이스를 사용하여 사용자 정의 로그인 및 등록 페이지를 만들었습니다. 이제 내 사이트 GUI 또는 API는 두 개의 프로그램이 있다고 가정 해 보겠습니다. 프로그램 A프로그램 B. 누구나 내 사이트의 홈페이지를 방문 프로그램 LOGIN 의해 만 인증 된 사용자가 사용할 수 있습니다 프로그램 B() 즉, 프로그램 B 링크가 로그인에 그 사용자에게 표시됩니다를 사용할 수 있습니다.MVC 4 사용자가 특정 페이지를 입력해야만 승인


내 프로그램 B 보안을 설정하려면 도움이 필요합니다. 즉, 링크가 LOGGED-IN 인 사용자에게 표시되도록하는 것이 좋습니다. 나는 한 가지만 더 말하고 싶습니다. 프로그램 A 링크과 "프로그램 B 링크"는 모두 주 코드 에 코딩되어 있습니다. 따라서 주소 프로그램 B을 URL로 직접 지정할 수 없습니다. 내가 말하고자하는 것을 얻을 수 있기를 바랍니다 ... 도움 !!! 다음은 내 Login.cshtml 코드

@model FYPFinalTest3.Models.UserLogin 
@{ 
    Layout = null; 
} 

<h2>Login</h2> 

@using (Html.BeginForm("Login","Login", FormMethod.Post)) 
{ 
    //this is for create form tag 
    @Html.AntiForgeryToken()   // this is for prevent CSRF attack 
    @Html.ValidationSummary(true) 
    if (@ViewBag.Message != null) 
    { 
     <div style="border:1px solid red"> 
      @ViewBag.Message 
     </div> 
    } 
    <table> 
     <tr> 
      <td>@Html.LabelFor(a=>a.Username)</td> 
      <td>@Html.TextBoxFor(a=>a.Username)</td> 
      <td>@Html.ValidationMessageFor(a=>a.Username)</td> 
     </tr> 
     <tr> 
      <td> 
       @Html.LabelFor(a=>a.Password) 
      </td> 
      <td> 
       @Html.PasswordFor(a=>a.Password) 
      </td> 
      <td> 
       @Html.ValidationMessageFor(a=>a.Password) 
      </td> 
     </tr> 
     <tr> 
      <td></td> 
      <td> 
       <input type="submit" value="Login" /> 
      </td> 
      <td></td> 
     </tr> 
    </table> 
} 

@* This below line is for create javascript section *@ 

@section Scripts{ 
    @Scripts.Render("~/bundles/jqueryval") 
} 

답변

2
당신은 권한 부여 속성을 사용할 수 있습니다 아래와 같이 코드를 꾸밀 수

: -

[Authorize] 
public class ProgramB:Controller 
    { 

    public ActionResult Method1() 
    { 
     return View(); 
    } 

    [Authorize] 
    public ActionResult Method2() 
    { 
     return View(); 
    } 
    } 

그래서 연결됩니다 로그인하지 그 사용자는 로그인 할 페이지. 자세한 내용은

: -

http://msdn.microsoft.com/en-us/library/system.web.mvc.authorizeattribute.aspx

여기 봐주십시오 속성 당신은 당신 자신의 사용자 권한 부여를 만들 수 있습니다 - 안하고

http://msdn.microsoft.com/en-us/library/ee707357(v=vs.91).aspx

+0

단순히 [인증] 추가 작업. 한 가지 더 이해할 수없는 것은이 프레임 워크가 사용자에게 권한이 있음을 알게 될 것이기 때문입니다. 사용자 이름과 암호를 일치시키기위한 간단한 코딩을 사용하기 때문에 아무것도 복잡하지 않습니다. –

+0

ur는 폼 인증을 사용하고 있습니다. web.config에서 인증 유형을 지정 했습니까? 여기에 게시 할 수 있습니까 @ WaqarAhmed? – Neel

+0

자습서에 대한 링크를 잘 검토하여 내가 한 일을 올바르게 이해할 수 있습니다.이 단계에서 web.config와 아무 관련이 없습니다. 나는 webconfig에서 아무것도 변경하지 않았습니다.

관련 문제