0

我在我的 C#.net 应用程序中使用 FormsAuthentication,并在每次用户登录时附加到数据库表中,以记录他们的登录时间,在调用 FormsAuthentication.RedirectFromLoginPage 或 FormsAuthentication.SetAuthCookie 之前不久。

这工作正常。

但是,如果我使用 createPersistentCookie,当用户下次访问该站点时,FormsAuthentication 会自动将它们登录,并且不会触发我的逻辑。

当用户在返回站点时首次通过身份验证时是否会触发事件?

我已经尝试过 FormsAuthentication_OnAuthenticate 和 Application_AuthenticateRequest,但它们在页面加载期间都会触发多次。我认为他们为页面加载触发一次,然后每次调用处理程序(ashx)时再次触发?

我需要一种方法来了解用户的 cookie 何时在会话中第一次使用。

谢谢。

4

1 回答 1

0

看起来没有办法通过 FormsAuthentication 或内置事件来实现,所以我使用 Session 变量来记住当前会话是否记录了登录。

每当查询当前用户的 ID 时,我都会检查 Session 变量是否存在。如果没有,我会创建它并记录当时的登录信息。

于 2012-05-26T16:47:47.880 回答