当用户登录并注销dnn应用程序时,我必须添加一些逻辑。但我不想在dnn中更改登录模块或任何内容。有什么事我能抓到吗?
答案 0 :(得分:3)
您可以告诉DNN在登录和注销时重定向到特殊页面。
访问管理员 - >用户帐户 - >用户设置
您可能希望将它们重定向到“LoginSuccess.aspx”页面,该页面包含您在其上构建的自定义模块,该页面执行以下操作:
您可以对用户注销执行相同的操作。如果您愿意,可以使用与登录相同的页面和相同的模块进行注销 - 您只需要检查当前用户是否经过身份验证,以确定要执行的逻辑和重定向的页面到。
专用LoginSuccess页面的步骤摘要
冲洗并重复注销
我不知道此方法是否允许您在登录/注销之前将用户重定向到他们所在的最后一页。如果我不得不猜测,我猜你会失去这个功能。
如果您在用户注销时遇到问题,确定谁刚刚注销,可以通过在用户登录时将UserID保存到会话状态来解决(在上面的自定义登录DNN模块中)。类似于:Session(“UserID”)=“当前用户ID”
处理特殊情况
确保限制包含这些登录/注销处理模块的这些“特殊页面”以执行以下操作:
如果由一个女性/恼人/丢失的用户或机器人手动访问,您可能希望您的“注销处理器”模块执行以下操作(例如:用户直接导航到MySite / ProcessLogout.aspx):
我相信这会回答你的问题,但也许不是你希望的方式。我没有像@capdragon建议的那样在没有修改DNN核心的情况下找到一个你可以简单处理的事件。如果你采用这种方法,请务必对其进行极好的评论并修改代码,使其成为复制粘贴的问题,以便部署到DNN的未来版本(例如,每次升级DNN时)
答案 1 :(得分:-2)
我会修改cmdLogin_Click()并向你的班级添加一个调用。
我过去做过。该页面根本不会改变。