不使用任何数据库对asp.net网站进行身份验证

时间:2009-11-02 16:16:23

标签: asp.net authentication

有没有办法在不需要DB的情况下提供用户登录。我们正在部署一个系统来控制某些硬件,而客户想要一个他们可以从浏览器访问的界面,但他们也希望提供登录以防止任何机构访问它。

我没有理由让DB实现我需要的东西。我不想在盒子上安装数据库只是为了提供身份验证。

非常确定我将使用MVC网络项目。

4 个答案:

答案 0 :(得分:9)

使用表单身份验证,您可以将凭据存储在配置文件中。查看此MSDN链接

答案 1 :(得分:8)

您可以通过Web配置启用身份验证,并指定同一文件中的用户而不是数据库。

这样的例子如下:

<authentication mode="Forms">
<forms loginUrl="MyLoginPage.aspx">
    <credentials passwordFormat="Clear">
        <user name="Darren" password="foobar" />
    </credentials>
</forms>
</authentication>

然后你可以像

一样使用它
 if (FormsAuthentication.Authenticate (txtUserName.Text, txtPassword.Text)){
FormsAuthentication.RedirectFromLoginPage (txtUserName.Text, False);}

有关详细信息,请参阅here

答案 2 :(得分:5)

是的,您可以使用表单身份验证并将用户名和密码存储在web.config中。除了最简单的网站之外,我不会推荐这种方法。

有关详细信息,请查看此MSDN文章:

http://msdn.microsoft.com/en-us/library/da0adyye.aspx

答案 3 :(得分:2)

不确定。对于非常简单的站点,您只需使用forms authentication并在web.config或users.xml文件中存储用户名/密码(当然是加密的!)。

对于体积更大,功能更全的网站,您可以implement a custom membership provider使用您喜欢的任何支持商店,或者使用其中一个现成的支持商店(例如this xml membership provider