В действии контроллера, к которому вы отправляете форму входа в систему, вы можете проверить учетные данные в вашей базе данных и в случае успеха создать файл cookie для аутентификации, который будет содержать имя пользователя подключенного в данный момент пользователя, чтобы вы могли получить его в последующих действиях.
Например, если у вас есть форма, содержащая поля имени пользователя и пароля, которая публикуется в методе LogOn:
[HttpPost]
public ActionResult LogOn(string username, string password)
{
// TODO: up to you to implement the VerifyCredentials method
if (!VerifyCredentials(username, password))
{
// wrong username or password:
ModelState.AddModelError("", "wrong username or password");
return View();
}
// username and password match => emit an authentication cookie:
FormsAuthentication.SetAuthCookie(username, false);
// and redirect to some controller action which is protected by the
// [Authorize] attribute and which should be accessible only to
// authenticated users
return RedirectToAction("SomeProtectedAction", "SomeController");
}
и внутри защищенного действия вы можете получить текущее подключенное имя пользователя из cookie, например:
[Authorize]
public ActionResult SomeProtectedAction()
{
string username = User.Identity.Name;
// TODO: here you could query your database to find out more about
// the user given his username which must be unique
...
}