Go WEB框架怎么使用拦截器验证用户登录状态


这篇文章主要介绍了GoWEB框架怎么使用拦截器验证用户登录状态的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇GoWEB框架怎么使用拦截器验证用户登录状态文章都会有所收获,下面我们一起来看看吧。wego拦截器是一个action(处理器函数)之前或之后被调用的函数,通常用于处理一些公共逻辑。拦截器能够用于以下常见问题:请求日志记录错误处理身份验证处理wego中有以下拦截器:before_exec :执行action之前拦截器after_exec :执行action之后拦截器本文用一个例子来说明如何使用拦截器来实现用户登录状态的判定。在这个例子中,用户访问login_get来显示登录页面,并调用login_post页面来提交登录信息。在login_pos免费云主机域名t页面中判定用户登录信息是否合法,并将登录账号保存在session中。用户访问其他需要登录验证的页面(例如:index页面)前首先执行拦截器:handler.BeforeExec。在拦截器中获取用户账号,若没有获取到用户账号,则跳转到登录页面:login_get。使用拦截器来进行用户登录状态的检查的有点是,不用在每个处理器函数中都包含用户登录状态的检查逻辑。只要将登录逻辑独立出来,并实现为before_exec拦截器即可。以下时main函数的主要内容:说明:本例子中使用基于cookie的session数据存储引擎,用于存储用户登录账号。调用web.BeforExec(handler.BeforeExec)来设置拦截器,在handler.BeforeExec拦截器中实现了登录状态的检查逻辑。由于login_get页面、login_post页面不需要进行登录检验,使用SkipHook()来忽略拦截器。用户访问需要进行登录验证的页面时,首先会检查session的登录账号,若没有登录账号,则跳转到登录页面:login_get, 登录页面的处理器实现如下:login.html的内容如下:用户点击”立即登录”后项服务器发送post请求到login_post, login_post处理器的实现如下:说明:在HandlerLoginPost调用c.Session.Set将账号写入session。登录检查的逻辑采用before_exec拦截器来实现,以下是before_exec拦截器的代码:说明:实现GetAccount函数来获取session数据,若用户成功登录了系统,则session中保存有用户的登录账号。在处理器函数中可以调用GetAccount函数来获取登录的登录账号。BeforeExec函数是before_exec拦截器的一个实现。在BeforeExec函数中首先调用GetAccount函数来获取登录的登录账号,若不存在用户账号,则跳转到登录页面:login_get,否则执行处理去函数。index页面需要验证用户是否登录,由于执行index页面的处理器前会执行before_exec拦截器, 因此在index页面的处理器函数中不需要再进行登录检查了,程序员只需要实现业务逻辑即可。index页面的处理器函数的实现代码如下:在HandlerIndex中读取index.html模板,并使用调用 GetAccount(c)获取用户账号,然后及进行渲染。其中index.html模板的内容如下:关于“GoWEB框架怎么使用拦截器验证用户登录状态”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“GoWEB框架怎么使用拦截器验证用户登录状态”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注百云主机行业资讯频道。

相关推荐: Page Visibility API怎么使用

本文小编为大家详细介绍“PageVisibilityAPI怎么使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“PageVisibilityAPI怎么使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。有时候,开发者需要知道,用户正…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 03/22 19:47
下一篇 03/22 19:47

相关推荐