我作为一个学习项目在 ASP.net 中开发了一个网站。在我的 web.config 文件中,我将身份验证模式设置为 windows。我正在使用appsettings
连接字符串连接到我的 SQL2005 数据库。现在我想知道这是哪种身份验证?这是窗户吗?形式?还是匿名身份验证?
我在 sql 2005 中有用户表,我的第一个屏幕是登录页面。显然,这个用户表有登录详细信息,如用户名和密码,它们将与用户输入相匹配。
我不明白我已经阅读了这么多关于授权和认证的帖子,但请清除我。提前致谢。
我作为一个学习项目在 ASP.net 中开发了一个网站。在我的 web.config 文件中,我将身份验证模式设置为 windows。我正在使用appsettings
连接字符串连接到我的 SQL2005 数据库。现在我想知道这是哪种身份验证?这是窗户吗?形式?还是匿名身份验证?
我在 sql 2005 中有用户表,我的第一个屏幕是登录页面。显然,这个用户表有登录详细信息,如用户名和密码,它们将与用户输入相匹配。
我不明白我已经阅读了这么多关于授权和认证的帖子,但请清除我。提前致谢。
您当前正在使用 Windows 身份验证。您的 Windows 用户名和密码用于向 asp.net 验证您的身份。
写入用户表的登录页面将是 asp.net 表单身份验证。
请注意,sql server 身份验证是一个完全独立的问题。对您的数据库进行身份验证取决于您的代码。这样做时,可以使用 web.config 文件中的连接字符串。
如果您想自定义字符串连接的凭据以访问您的数据库,您可以使用Integrated Security
或Trusted_Connection
当值为 true 时,用于身份验证的 Windows 帐户的当前凭据。
注意:在你的情况下,我认为你可以使用FormsAuthentification
(你有 Windows 身份验证)
表格认证:
<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 并存储他们登录的事实,例如
Session["LoggedIn"] = true;
Session["Username"] = username;
然后检查他们是否使用您的代码登录并使用该代码授权访问页面。因此,如果他们登录,则在页面加载时继续加载页面,否则将它们发送到登录页面。
当您想注销用户时,只需执行 Session.Clear();