2017-11-09 14 views
0

사람들 내가이 문제를 해결하는 데 도움이 될 수 있습니다. 현재 사용자가 내 테이블을 기반으로 로그인 한 데이터를 표시 할 수 없습니다. 내 테이블은 항상 반환됩니다. 빈 목록, 사용자와 그 주제를 표시해야합니다.빈 템플릿 사용하기 asp.net MVC에서 현재 사용자 ID 가져 오기

(MVC)에서 빈 템플릿을 사용하고 있습니다. 고유 한 사용자 인증 + 역할 만 있습니다. 사용자 ID에 Int 데이터 형식을 사용하고 있습니다. 이 일과 관련하여 나를 인도 해 주시면 감사하겠습니다. 감사합니다 사전

뉴 얻을 패키지 : Install-Package Microsoft.AspNet.Identity.EntityFramework

이름 공간 : Microsoft.AspNet.Identity를 사용하여;

컨트롤러 :

[Authorize(Roles = "Admin,Teacher")] 
public ActionResult Index() 
{ 
    int userId = User.Identity.GetUserId<int>(); 
    var subjectTeachers = db.SubjectTeachers.Where(x=>x.UserID==userId); 
    return View(subjectTeachers.ToList()); 
} 

모델 :

[Key] 
public int SubTech { get; set; } 
[Display(Name ="SUBJECT")] 
public int SubjectID { get; set; } 
public virtual Subject Subjects { get; set; } 
[Display(Name = "TEACHER")] 
public int UserID { get; set; } 
public ICollection< User> Users { get; set; } 
[Display(Name = "LEVEL")] 
public int LevelID { get; set; } 
public ICollection< Level> Levels { get; set; } 

대상 :. 내 표는 현재 로그인 한 사용자에 속하는 제목 + 수준의 목록을 표시해야하지만 불행히도 지금은 비어를 표시 목록,

+0

가능한 복제 (https://stackoverflow.com/questions/26739778/get-userid-of-logged-in-user-in [Asp.Net MVC (5)에 로그인 한 사용자의 사용자 ID를 가져옵니다] -asp-net-mvc-5) –

+0

이것 [User ID에 로그인하십시오] (https://stackoverflow.com/questions/26739778/get-userid-of-logged-in-user-in)를 확인해보십시오. -asp-net-mvc-5) –

+0

이것은 클레임을 사용하여 asp.net MVC의 기본 템플릿에 대해 이야기하는 것입니다, 광산은 제가 주장을 사용하지 않기 때문에 약간 다릅니다, 내가 도울 수있는 최선의 방법은 무엇입니까? 이걸 얻으려고? 나는 정말로 배상 청구를 사용해야합니까? – Copain

답변

0

사람들이 몇 가지 조사를 한 후 사용자 현재 로그에 기반한 데이터를 표시하는 방법을 찾았습니다. 모르는 사람들에게 공유하고 싶습니다.

나는 빈 mvc 템플릿을 사용한 다음이 튜토리얼 링크 을 DotNet에 보내 주셔서 감사합니다. http://www.dotnetawesome.com/2015/06/how-to-implement-custom-forms-authentication-in-aspnet-mvc.html.

나는 그의 4 개의 튜토리얼을 모두 따랐다. 그런 다음 이것을 내 컨트롤러에 추가했다. 다음 이름 공간을 사용하는 것을 잊지 마십시오. 의

using Microsoft.AspNet.Identity; 

public ActionResult Index() 
    { 

     if (System.Web.HttpContext.Current.User.Identity.IsAuthenticated == true) 
     { 
      var identity = (System.Web.HttpContext.Current.User as MyProject.MyPrincipal).Identity as MyProject.MyIdentity; 
      var demo = db.SubjectTeachers.Where(x => x.UserID == identity.User.UserID).ToList(); 
      return View(demo); 
     }; 
     return View(); 
    }