我有一个小型数据库,没有任何花哨只有5个表。我想使用表单身份验证,但它创建自己的数据库来完成它的工作。我不需要任何花哨的东西,我当然不需要添加基础设施,但我希望安全表单身份验证提供。我有一个人员表,有一个登录名和密码字段。我该怎么做才能使表格使用这些字段并返回我的用户ID?这种形式甚至可能吗?如果没有,我怎么能这样做,所以表格在我的数据库上创建它的基础设施,所以我可以将我的表与表格需要合并?
我知道这可能很简单,但经过数小时的研究,我在网上找不到任何东西。
答案 0 :(得分:3)
实际上,我不确定为什么这里的答案暗示表单身份验证以某种方式必须与ASP.Net成员身份或ASP.Net基础结构(提供者等)一起使用。
您当然可以使用表单身份验证不带其中任何一个并使用您现有的用户表(与ASP.Net成员资格或任何提供商无关)。
这取自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 lookup查询替换代码的位置....
更新:修改后的链接(将其更正为指向MSDN)
答案 1 :(得分:1)
如果您想使用自己的表格,那么您将需要implement your own MembershipProvider。这允许您使用自己的表和存储过程,但仍然挂钩表单auth结构。
答案 2 :(得分:-1)
您正在寻找的工具称为aspnet_regsql:http://msdn.microsoft.com/en-us/library/ms229862.aspx
这是一个比我更全面的答案:https://stackoverflow.com/a/4030700/44372