有没有办法在不需要DB的情况下提供用户登录。我们正在部署一个系统来控制某些硬件,而客户想要一个他们可以从浏览器访问的界面,但他们也希望提供登录以防止任何机构访问它。
我没有理由让DB实现我需要的东西。我不想在盒子上安装数据库只是为了提供身份验证。
非常确定我将使用MVC网络项目。
答案 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文章:
答案 3 :(得分:2)
不确定。对于非常简单的站点,您只需使用forms authentication并在web.config或users.xml文件中存储用户名/密码(当然是加密的!)。
对于体积更大,功能更全的网站,您可以implement a custom membership provider使用您喜欢的任何支持商店,或者使用其中一个现成的支持商店(例如this xml membership provider)