Asp.net .Net成员资格提供程序,在通过持久cookie登录时验证用户
当用户登录到我的网站时,我有一个自定义成员资格提供商,它覆盖Asp.net .Net成员资格提供程序,在通过持久cookie登录时验证用户,asp.net,asp.net-membership,forms-authentication,Asp.net,Asp.net Membership,Forms Authentication,当用户登录到我的网站时,我有一个自定义成员资格提供商,它覆盖ValidateUser,并验证用户是否拥有足够的权限等 但是,当使用RememberMeSet通过默认表单身份验证实现“记住我”功能时,我还希望在第一次请求时验证用户 当用户使用持久cookie登录时,是否有一些钩子可以附加到该触发器上?我想您要查找的是HttpModule中的AuthenticateRequest事件。在此事件处理程序中,您可以检查cookie并验证凭据,然后设置HttpContext.Current.User以授权
ValidateUser
,并验证用户是否拥有足够的权限等
但是,当使用RememberMeSet
通过默认表单身份验证实现“记住我”功能时,我还希望在第一次请求时验证用户
当用户使用持久cookie登录时,是否有一些钩子可以附加到该触发器上?我想您要查找的是HttpModule中的AuthenticateRequest事件。在此事件处理程序中,您可以检查cookie并验证凭据,然后设置HttpContext.Current.User以授权用户。解决方法:
UserIsVerified
或其他什么true
Application\u prerequesthandler execute
,验证UserIsVerified
prop是否已设置,如果未设置,则执行相应的检查如果处理程序中的身份验证失败,我将重定向到注销页面,并让.Net处理所有其他事情。您需要做的就是调用
Membership.GetUser()
,返回当前登录用户的MembershipUser
实例。如果您的用户上次使用“记住我”登录导致持久身份验证。在客户端上使用cookie时,您的会员资格提供商将自动告诉您用户是否[从持久cookie]登录不需要额外的工作就可以通过持久身份验证cookie对用户进行身份验证。
您可以在方法
Membership.GetUser()
返回的MembershipUser
实例上计算额外的钩子,并检查他是否有权执行任务。如果未发现用户登录,该方法将简单地返回null
not really。我不想自己阅读任何cookie,因为.Net可以处理所有这些。