Public Sub mainlogin_Authenticate(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.AuthenticateEventArgs) Handles mainlogin.Authenticate
'Are the credentials valid?
If Membership.ValidateUser(mainlogin.UserName, mainlogin.Password) Then
'Has the password expired?
Dim usrInfo As MembershipUser = Membership.GetUser(mainlogin.UserName)
Dim daysSincePwdChange As Integer = Convert.ToInt32(DateTime.Now.Subtract(usrInfo.LastPasswordChangedDate).TotalDays)
If daysSincePwdChange > SecurityUtils.DefaultPasswordExpiryInDays Then
'Password expired, send user to change password
Response.Redirect("~/ChangePassword.aspx?UserName=" & Server.UrlEncode(mainlogin.UserName))
Else
e.Authenticated = True 'Credentials valid & password is current
End If
Else
e.Authenticated = False 'Invalid!
End If
end sub
但是我收到了这个错误
错误6'System.Web.SecurityUtils'在此上下文中无法访问,因为它是'Friend'。
答案 0 :(得分:0)
你不能 - 正如它所说,System.Web.SecurityUtils
无法访问。你不能把它公开 - 它不是设计的是公开的。改变你的方法,这样你就不需要了。
当然,可能你真的想要引用不同的类型......你是否有机会阅读this page?我的猜测是,SecurityUtils
是一个不同的自定义类,而不是System.Web.SecurityUtils
。
它正在做的就是获得网站的默认过期 - 而这可能是你想以自己的方式实现的。它可能只是一个常量,或者可能来自设置文件。这并不像那里会有很多逻辑。