自定义了一个登录页面,因此不像DNN自带的AccountLogin模块那样能够自动调用相应的方法。这里必须自己写sql查询语句。

在DNN数据库中与用户信息相关的表有三张,分别是users,aspnet_user和aspnet_Membership。我们这里只用到后两张表,通过连接查询判断用户名和密码是否正确。

查询语句为:

SELECT  * FROM aspnet_Membership INNER JOIN aspnet_users ON aspnet_Membership.UserId = aspnet_users.UserId where UserName=? and Password=?

只要将上述语句替换从Access到SQL Server 2005 Express转移后数据库连接的变化一文中的"strSQL"就可以实现DNN的密码验证。

作者:xwdreamer