사용자 로그인을 사용하여 .net으로 웹 앱을 만들고 있습니다. 등록 후 사용자의 데이터는 로컬 SQL 데이터베이스에 저장되므로 사용자는이를 사용하여 로그인 할 수 있어야합니다.ASP.NET MVC를 사용하여 사용자를 인증하는 방법은 무엇입니까?
현재 사용자를 등록 할 수 있으며 하드 코드 된 암호와 사용자 이름을 사용할 때 로그인 할 수 있지만 사용자의 자격 증명과 데이터베이스의 인증서를 검사 할 수있는 방법을 확인할 수 없습니다 일치하면.
나는 광범위한 연구를했지만 적절한 해결책을 찾지 못했지만 놀랍게도 효과적인 해결책을 찾지 못했습니다.
내 사용자 모델 :
namespace Models
{
public class Users
{
public int Id { get; set; }
public string userName { get; set; }
public string userPassword { get; set; }
public string userEmail { get; set; }
public string userCompany { get; set; }
public class UsersDBContext : DbContext
{
public DbSet<Users> Users { get; set; }
}
}
}
내 컨트롤러
namespace Eindwerk.Controllers
{
public class UsersController : Controller
{
private Users.UsersDBContext db = new Users.UsersDBContext();
// GET: /Users/
public ActionResult Index()
{
return View();
}
[HttpPost]
public ActionResult Index(Users users)
{
if (ModelState.IsValid)
{
if(users.userName == "NAAM" && users.userPassword == "WACHTWOORD")
{
FormsAuthentication.SetAuthCookie(users.userName, false);
return RedirectToAction("", "Home");
}
{
ModelState.AddModelError("", "Invalid username and/or password");
}
}
return View();
}
내보기
다음 내 현재 코드입니다@model Eindwerk.Models.Users
@{
ViewBag.Title = "Login";
Layout = "../_Login.cshtml";
}
@using (Html.BeginForm()) {
@Html.ValidationSummary(true)
<div class="panel-body">
<fieldset>
<div class="editor-field">
@Html.TextBoxFor(model => model.userName, new { @class = "form-control", Value="Username"})
@Html.ValidationMessageFor(model => model.userName)
</div>
<br />
<div class="editor-field">
@Html.TextBoxFor(model => model.userPassword, new { @class = "form-control", Value= "Password" })
@Html.ValidationMessageFor(model => model.userPassword)
</div>
<br />
<br />
<p>
<input type="submit" value="SIGN IN" class="btn btn-outline btn-primary btn-lg btn-block"/>
</p>
</fieldset>
</div>
}
그래서 대신 if(users.userName == "NAAM" && users.userPassword == "WACHTWOORD")
사용자가 유효하고 내 데이터베이스에 등록되어 있는지 여부를 확인하고 싶습니다. 따라서 액세스 권한을 부여하거나 거부 할 수 있습니다.
아무도 적절한 해결책이 있습니까? 또는이 문제를 해결하려면 괜찮은 문서에 링크 하시겠습니까?
도움이 정말 감사합니다!
귀하의 질문은보기에서 컨트롤러로 데이터를 보내는 방법 또는 해당 사용자가 이미 데이터베이스에 있는지 확인하는 방법입니까? –
asp.net.identity를 사용하지 않는 이유는 무엇입니까? ? – stackunderflow
실제로 전에 들어 보지 못했습니다 ... 등록/로그인 성공에 성공했지만 확실히 asp.net 신원을 살펴볼 것입니다! – user3629755