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



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

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

我不明白我已经阅读了很多有关授权和身份方面的帖子,但请对此清除我。提前致谢。

您当前正在使用Windows身份验证。您的Windows用户名和密码用于将您验证到ASP.NET。

写入用户表的登录页面将为ASP.NET形式身份验证。

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

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

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

nota:在您的情况下,我认为您可以使用FormsAuthentification(您具有Windows Authentification)

链接: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

除了其他答案:

用户登录后,创建一个会话并存储使用

的事实,例如
Session["LoggedIn"] = true; 
Session["Username"] = username;

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

当您想将用户登录时,只需do session.clear();

最新更新