mysql - 我可以使用 mod_auth_mysql 更新用户数据库的上次登录时间戳吗?

标签 mysql apache .htaccess apache-modules

环境:

LAMP(CentOS 6.5、Apache 2.2.15-30.el6.centos、MySQL 5.5.36-1.el6.remi、PHP 5.4.26-1.el6.remi)

我已经安装了 mod_auth_mysql 并且工作正常。我正在使用 .htaccess 文件来限制对基于组的用户的访问。数据库结构无关紧要,但我还是会发布:

table: user_auth
user_name       varchar(25)
user_passwd     varchar(40)
last_modified   timestamp
last_login      timestamp

我的 auth_mysql.conf 非常简单且通用。它看起来像这样:

<Directory /var/www/html/>
 AuthName "My Website"
 AuthType Basic
 AuthMYSQLEnable on
 AuthMySQLHost localhost
 AuthMySQLUser user
 AuthMySQLPassword pass
 AuthMySQLDB authDB
 AuthMySQLUserTable user_auth
 AuthMySQLNameField user_name
 AuthMySQLPasswordField user_passwd
 AuthMySQLGroupTable user_groups
 AuthMySQLGroupField user_group
</Directory>

所以,我的问题是这样的:当使用 mod_auth_mysql 验证登录时,是否可以修改 auth_mysql.conf、.htaccess、MySQL 触发器等来为 user_auth 表中的 last_login 列添加时间戳?我似乎无法在任何地方找到有关此内容的信息,或者也许我只是没有使用正确的关键字。任何帮助,将不胜感激。提前致谢。

最佳答案

您可以创建并注册一个将更新时间戳的 UDF 函数。 然后你可以把这个函数放入modauthmysql的AuthMySQLUserCondition中。

简单地修改modauthmysql可能会更容易。

关于mysql - 我可以使用 mod_auth_mysql 更新用户数据库的上次登录时间戳吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22997882/

相关文章:

mysql - Select where 子句 = label.text 为什么不起作用

mysql - 组织.apache.ibatis.type.TypeException : Could not set parameters for mapping: ParameterMapping

mysql - 如何根据联接表值选择 "fake"列/值?

mysql - MAMP 和 Mac Apache Web 服务器不工作

php - 允许服务器解析 html 文件中的 php 后,命名空间不起作用

python - 尝试从 MySql 获取所有行时出现 TypeError

mysql - Apache - MySQL 服务检测到错误的路径。/端口已在使用中

apache - 为什么 XML-RPC API 端点会随机抛出 ProtocolError -1?

apache - 如何将请求重定向到站点根目录上方的特定文件?

wordpress - 在注册时强制使用 SSL 但在非注册页面上删除 SSL