我做一个登录页面,我想显示用户信息名址等,当我登录成功

问题描述:

这是登录, 这是用户登录控制器代码,我验证用户的电子邮件ID和密码,当用户登录重定向到首页的控制器代码控制器在这里我想显示用户信息我做一个登录页面,我想显示用户信息名址等,当我登录成功

[HttpPost] 
[ValidateAntiForgeryToken] 

public ActionResult Login(UserLogin login, string ReturnUrl = ""){ 
     string message = ""; 
     using (LoginEntities dc = new LoginEntities()){ 
       var v = dc.Users.Where(a => a.EmailID == login.EmailID).FirstOrDefault(); 
       var n = dc.Users.Where(a => a.Password == login.Password).FirstOrDefault(); 
       if (v != null || n != null){ 
        if (string.Compare(Crypto.Hash(login.Password), v.Password) == 0){ 
         int timeout = login.RememberME ? 525600 : 20; 
         var ticket = new FormsAuthenticationTicket(login.EmailID,login.RememberME,timeout); 
         string encrypted = FormsAuthentication.Encrypt(ticket); 
         var cookie = new HttpCookie(FormsAuthentication.FormsCookieName, encrypted); 
         cookie.Expires = DateTime.Now.AddMinutes(timeout); 
         cookie.HttpOnly = true; 
         Response.Cookies.Add(cookie); 

         if (Url.IsLocalUrl(ReturnUrl)){ 
          return Redirect(ReturnUrl); 
         } 
         else{ 
          return RedirectToAction("Index", "Home"); 
         } 
        } 
        else{ 
         message = "Invalid Credential Provided"; 
        } 
       } 
       else { 
        message = "Invalid Credential Provided"; 
       } 
      } 
      ViewBag.Message = message; 
      return View(); 
      } 

家庭控制器和索引操作,我重定向当我登录, 这是家庭控制器哪里重定向成功登录后,请了一些人给家居控制器和索引操作代码在哪里我可以获取用户的ID登录和,并告诉我如何显示在视图

public class HomeController : Controller{ 
     LoginEntities db = new LoginEntities(); 
     // GET: Home 
     [Authorize] 
     public ActionResult Index(){ 
      if (Session.Contents.Count == 0){ 
       RedirectToAction("Login", "User"); 
      } 

      return View(); 
     } 
    } 

更新我下面的代码,这可能会或可能不会怎么把这里的编码工作,手动不实际VS:P

// /Controller/TestController.cs

namespace XXXX.Controllers 
{ 
    public class TestController : Controller 
    { 
     public ActionResult User() 
     { 
      String UserId = User.Identity.GetUserId().ToString(); 
      ApplicationDbContext db = new ApplicationDbContext(); 

      var rs = db.Users.Find(UserId); 
      var model = new UserViewModel 
      { 
       UserName = rs.UserName, 
       FirstName = rs.FirstName, 
       LastName = rs.LastName, 
       Email = rs.Email 
      }; 
      db.Dispose(); 
      return View(model); 
     } 
    } 
} 

// /型号/UserViewModel.cs

namespace XXXX.Models 
{ 
    public class UserViewModel 
    { 
    public string Id { get; set; } 
    public string UserName { get; set; } 
    public string Email { get; set; } 
    public string FirstName { get; set; } 
    public string LastName { get; set; } 
    } 
} 

// /Views/Test/User.cshtml

上述

仅仅是一个样品,你可以使用信息进一步

+0

当我登录按钮单击登录可以看到他的名字姓氏日期等是在用户模型persent用户费尔南Vacina我只需要.. 。我必须编写代码以及如何传递它以查看 – Shahab

+0

Hi @Shahab添加了上面的示例,希望有所帮助(请注意,如果它实际上可行,但没有经过测试,但逻辑应该在代码中应该如何调用) –