65.9K
CodeProject 正在变化。 阅读更多。
Home

关于 ASP.NET 中的身份验证模式

starIcon
emptyStarIcon
starIcon
emptyStarIconemptyStarIconemptyStarIcon

1.04/5 (11投票s)

2006年6月7日

1分钟阅读

viewsIcon

63158

downloadIcon

353

当你开始一个 ASP.NET 程序时,你可以考虑身份验证的值是“windows”还是“forms”。

引言

当你为客户使用 ASP.NET 开发程序时,你应该考虑安全性。在 web.config 文件中,你可以设置身份验证模式的值为“windows”或“forms”。它们之间有什么区别?如何使用它们?(身份验证还有其他值,本文不考虑它们。)

如何使用 windows 模式

当你选择这种模式时,你可以让所有客户端访问你的项目。代码如下(在这种情况下,你无法使用 'User.Identity.Name' 获取值)

<authentication mode="Windows" />

<authorization>
<allow users="*" />

</authorization>

其他 你可以使用 windows 身份验证让特定的客户端访问你的项目。代码如下(在这种情况下,你可以使用 'Use.Identity.Name' 获取值,然后你可以用它来做你喜欢的事情。)

<authorization>
<deny users="?" />

</authorization>

如何使用 Forms 模式

如果你选择 'Forms' 模式,首先你应该指定一个页面,并确保所有客户端都可以找到它。代码如下

<authentication mode="Forms">
<forms name="Authentication" loginUrl="LoginForForms.aspx" />
</authentication>

<location path="LoginForForms.aspx">
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
</location>

其次,在该页面中,你需要验证用户的 ID 和密码。代码如下

if(UserIsLogin())
{
try
{
FormsAuthentication.RedirectFromLoginPage("2", false);
}
catch (Exception ex)
{
Response.Redirect("defaultForForms.aspx");
}
}

最后

这些知识对每个人来说都很简单。但我知道,从我使用 C# 和 ASP.NET 以来,已经过去了两年。所以我写这篇文章,因为我相信有很多程序员对它了解很多。这篇文章肯定有很多我没有意识到的错误。所以欢迎你告诉我。

© . All rights reserved.