C# 使用现有数据库凭据登录身份验证
我正在做一个带有CookieAuthentication的登录函数。我只想用我的用户名登录。我希望此方法能够识别数据库中的用户名,并使用该用户名登录,然后启动cookieauthentication。当我用我现在的代码运行它时,它不会给我一个错误,它只是停留在登录视图中。我真的很抱歉我的英语不好,我希望有人认识到我想要成功 我的观点@model SpelerDTOC# 使用现有数据库凭据登录身份验证,c#,html,asp.net-mvc,asp.net-core,cookies,C#,Html,Asp.net Mvc,Asp.net Core,Cookies,我正在做一个带有CookieAuthentication的登录函数。我只想用我的用户名登录。我希望此方法能够识别数据库中的用户名,并使用该用户名登录,然后启动cookieauthentication。当我用我现在的代码运行它时,它不会给我一个错误,它只是停留在登录视图中。我真的很抱歉我的英语不好,我希望有人认识到我想要成功 我的观点@model SpelerDTO <form asp-action="login" method="post">
<form asp-action="login" method="post">
<label asp-for="SpelerNaam"></label>
<input type="text" name="SpelerNaam" asp-for="@Model.SpelerNaam"
placeholder="Gebruikersnaam" />
<button>Sign in</button>
</form>
从SPELER表获取spelerNaam的DAL函数
public SpelerDTO GetByName(SpelerDTO speler)
{
try
{
string sql = "SELECT * FROM Speler WHERE spelerNaam = @spelernaam";
List<KeyValuePair<string, string>> parameters = new List<KeyValuePair<string, string>>()
{
new KeyValuePair<string,string>("@spelernaam", speler.SpelerNaam)
};
DataSet results = ExecuteSql(sql, parameters);
SpelerDTO c = Parser.Parser.DataSetToSpeler(results, 0);
return c;
}
catch (Exception e)
{
throw e;
}
}
public SpelerDTO GetByName(SpelerDTO speler)
{
尝试
{
string sql=“SELECT*FROM Speler,其中spelerNaam=@spelerNaam”;
列表参数=新列表()
{
新的KeyValuePair(“@spelernaam”,speler.spelernaam)
};
数据集结果=ExecuteSql(sql,参数);
SpelerDTO c=Parser.Parser.datasetospeler(结果,0);
返回c;
}
捕获(例外e)
{
投掷e;
}
}
能否请您共享cookie身份验证相关代码和详细错误消息?没有这些,我们无法知道为什么你的代码不能正常工作。我已经找到了答案,谢谢你的回复!如果可能,请发布您的解决方案并将其标记为答案,以便其他面临相同问题的人员可以更轻松地找到解决方案。您能否共享cookie身份验证相关代码和详细错误消息?没有这些,我们无法知道为什么你的代码不能正常工作。我已经找到了答案,谢谢你的回复!如果可能,请发布您的解决方案并将其标记为答案,以便其他面临相同问题的人能够更轻松地找到解决方案。
public SpelerDTO getName(SpelerDTO speler)
{
SpelerDTO s = _context.GetByName(speler);
return s;
}
public SpelerDTO GetByName(SpelerDTO speler)
{
try
{
string sql = "SELECT * FROM Speler WHERE spelerNaam = @spelernaam";
List<KeyValuePair<string, string>> parameters = new List<KeyValuePair<string, string>>()
{
new KeyValuePair<string,string>("@spelernaam", speler.SpelerNaam)
};
DataSet results = ExecuteSql(sql, parameters);
SpelerDTO c = Parser.Parser.DataSetToSpeler(results, 0);
return c;
}
catch (Exception e)
{
throw e;
}
}