我有一个小数据库,没什么特别的,只有 5 张桌子。我想使用表单身份验证,但它会创建自己的数据库来完成它的工作。我不需要任何花哨的东西,当然也不需要额外的基础设施,但我想要安全表单身份验证提供的。我有一个人员表,其中包含登录名和密码字段。我怎样才能让表单使用这些字段并返回我的用户 ID?这甚至可以用表格吗?如果没有,我怎样才能使表单在我的数据库上创建它的基础设施,以便我可以将我的表与需要工作的表单合并?
我知道这可能很简单,但经过数小时的研究,我在网上没有找到任何东西。
我有一个小数据库,没什么特别的,只有 5 张桌子。我想使用表单身份验证,但它会创建自己的数据库来完成它的工作。我不需要任何花哨的东西,当然也不需要额外的基础设施,但我想要安全表单身份验证提供的。我有一个人员表,其中包含登录名和密码字段。我怎样才能让表单使用这些字段并返回我的用户 ID?这甚至可以用表格吗?如果没有,我怎样才能使表单在我的数据库上创建它的基础设施,以便我可以将我的表与需要工作的表单合并?
我知道这可能很简单,但经过数小时的研究,我在网上没有找到任何东西。
实际上,我不确定为什么这里的答案暗示表单身份验证必须以某种方式与 ASP.Net Membership 或它的 ASP.Net 基础结构(提供程序等)一起使用。
您当然可以在没有任何表单身份验证的情况下使用它们并使用现有的用户表(与 ASP.Net Membership 或任何提供程序无关)。
这取自MSDN:
<script runat="server">
void Logon_Click(object sender, EventArgs e)
{
if ((UserEmail.Text == "jchen@contoso.com") &&
(UserPass.Text == "37Yj*99Ps"))
{
FormsAuthentication.RedirectFromLoginPage
(UserEmail.Text, Persist.Checked);
}
else
{
Msg.Text = "Invalid credentials. Please try again.";
}
}
</script>
虽然以上是(过度)简化的,但您可以看到在哪里可以用 db 查找查询替换代码......
更新:修改链接(更正它指向 MSDN)
如果您想使用自己的表,那么您将不得不实现自己的 MembershipProvider。这使您可以使用自己的表和存储过程,但仍然可以连接到表单身份验证结构。
您正在寻找的工具称为 aspnet_regsql:http: //msdn.microsoft.com/en-us/library/ms229862.aspx
这是一个比我更全面的答案:https ://stackoverflow.com/a/4030700/44372