2013-04-14 2 views
1

UserProfile 테이블을 사용자 정의하고 IsActive이라는 새 열을 추가했습니다. 그것은 등록 잘 작동합니다. 그리고 이제 로그인하기 전에 해당 사용자 정의 열 IsActive의 가치를 얻고 싶습니다. 로그인 후 사용자가 활성화되어 있는지 확인 유효하면 사용자 이름과 암호가 SimpleMembership 로그인으로 사용자 정의 열 값 가져 오기

  • 유효한 경우
    WebSecurity.Login(model.UserName, model.Password, persistCookie: model.RememberMe) 
    

    다음 시나리오를

    1. 확인이 필요합니다.
    2. 사용자가 활성화되어 있지 않으면 로그인해서는 안됩니다.

    아이디어가 있으십니까?

  • 답변

    0

    이것은 내 머리 꼭대기에서 떨어져서 테스트되지 않았으므로 100 % 정확하지는 않지만 올바른 방향으로 놓아야합니다.

    public ActionResult Login(LoginModel model) 
    { 
        using(var db = new MyDbContext()) 
        { 
         try 
         { 
          var user = db.UserProfile.FirstOrDefault(x => x.UserName == model.UserName); 
          if(user != null) 
          { 
           if(user.IsActive == true) 
           { 
            if(ModelState.IsValid && WebSecurity.Login(model.UserName, model.Password, persistCookie: model.RememberMe)) 
            { 
             try 
             { 
              return View("SomeView"); 
             } 
             catch(Exception e) 
             { 
              // handle exception 
             } 
            } 
           } 
           else 
           { 
            return View("SomeView"); 
           } 
          } 
         } 
         catch(Exception e) 
         { 
          // handle exception 
         } 
        } 
        return View("SomeView"); 
    } 
    
    +0

    한 덕분에, 내가 좀 더 답변을 기다렸다 등 –

    +0

    ... 지금은 아무 문제를 받아들이는 없습니다, 다행이 도움이되었다. – MattSull