表单身份验证和登录控件

时间:2010-05-12 17:09:15

标签: asp.net asp.net-membership asp.net-2.0

我正在升级使用ASP.NET 1.1编写的网站,登录页面的逻辑包括验证凭据,调用FormsAuthentication.SetAuthCookie()并使用用户信息填充会话。

我正在更新此页面以使用Login控件和Membership API,并试图围绕已更改的概念。

  1. 我看到的大多数示例都没有对登录按钮事件处理程序执行任何操作,因此设置将cookie抽象出控件的逻辑是什么?
  2. 此外,如何检查用户是否已登录其他页面。它是否仍使用Session存储用户信息?
  3. 如何检查用户是否属于某个特定角色(之前,我会查看Session对象以执行此类操作)
  4. 会话是否是存储用户信息的不良方式?
  5. 由于

1 个答案:

答案 0 :(得分:0)

如果您使用会员资格以及登录控件,则api会在单击登录按钮时处理用户身份验证。如果您在用户登录时还需要执行其他操作,也可以处理该事件。如果您不使用成员身份,则需要自行处理登录点击和身份验证。

如果您在web.config中正确设置了身份验证,则不一定需要检查用户是否已登录,但是如果您有登录用户的页面,并且匿名用户都可以访问您可能希望看一下loginview控件。您还可以使用 Page.User.Identity.IsAuthenticated 方法检查用户是否已登录。

要检查用户是否在角色中,只需使用 Page.User.IsInRole(“角色名称”) System.Web.Security.Roles.IsUserInRole(“username” ,“rolename”)

我不认为会话是存储用户信息的不好方法,但如果您使用会员资格,那么我不明白这一点。