ASP.NET C#身份验证自动化

时间:2012-10-29 10:21:55

标签: c# asp.net sql-server authorization windows-authentication

我作为一个研究项目在ASP.net开发了一个网站。在我的web.config文件中,我将身份验证模式作为Windows。我正在使用appsettings连接字符串连接到我的SQL2005数据库。 现在我想知道这是什么样的身份验证? 这是窗户吗?形式?或匿名认证?

我在sql 2005中有用户表,我的第一个屏幕是登录页面。显然,这个用户表有登录详细信息,如用户名和密码,将与用户输入匹配。

我不明白我已经阅读了很多关于授权和authienticaion的帖子,但请在此清除我。提前致谢。

3 个答案:

答案 0 :(得分:4)

您当前正在使用Windows身份验证。您的Windows用户名和密码用于向您验证asp.net。

写入用户表的登录页面将是asp.net表单身份验证。

请注意,sql server身份验证是一个完全独立的问题。您的代码可以根据您的数据库进行身份验证。这样做时,可以使用web.config文件中的连接字符串。

答案 1 :(得分:1)

如果要自定义字符串连接的凭据以访问数据库,可以使用Integrated Security     或Trusted_Connection

当值为true时,用于身份验证的Windows帐户的当前凭据。

Nota:在你的情况下,我认为你可以使用FormsAuthentification(你有Windows身份验证)

链接:http://msdn.microsoft.com/fr-fr/library/system.data.sqlclient.sqlconnection.connectionstring(v=vs.80).aspx

表格认证:

<authentication mode="Forms">
 <forms loginUrl="~/login.aspx">
</forms>
</authentication> 
<authorization>
  <deny users="?" />
</authorization>

点击后

 if (IsAuthenticatedValue) //You can adjust  your condition
  {
      FormsAuthentication.RedirectFromLoginPage (.., ..);
  }
  else
  {
      Console.WriteLine("Invalid credentials. Please try again.");
  }

链接:http://msdn.microsoft.com/fr-fr/library/xdt4thhy(v=vs.80).aspx

答案 2 :(得分:0)

除了这里的另一个答案:

用户登录后,创建会话并使用

等存储他们登录的事实
Session["LoggedIn"] = true; 
Session["Username"] = username;

然后检查他们是否使用您的代码登录并使用该代码授权访问该页面。因此,如果页面加载,如果他们登录后继续加载页面,则将其发送到登录页面。

如果要关闭用户,只需执行Session.Clear();