区别isRemembered 和 isAuthenticated 例子

假设你使用卓越网,你已经成功登录并且在购物蓝中添加了一些书籍,但你由于临时要参加一个会议,匆忙中你忘记退出登录,当会议结束,回家的时间到了,于是你离开了办公室。

第二天当你回到工作,你意识到你没有完成你的购买动作,于是你回到卓越网,这时,卓越网“记得”你是认证,通过你的名字向你打招呼,仍旧给你提供个性化的图书推荐,对于卓越,subject.isRemembered()将返回真。

但是当你想访问你帐号的信用卡信息完成图书购买的时候会怎样呢?虽然卓越“记住”了你(isRemembered() == true),它不能担保你就是你(也许是正在使用你计算机的同事)。

于是,在你执行像使用信用卡信息之类的敏感操作之前,卓越强制你登录以使他们担保你的身份,在你登录之后,你的身份已经被验证,对于卓越,isAuthenticated()将返回真。

这类情景经常发生,所以shiro加入了该功能,你可以在你的程序中使用。现在是使用isRemembered()还是使用isAuthenticated()来定制你的视图和工作流完全取决于你自己,但shiro维护这种状态基础以防你可能会需要。


本例子看到网上有一则很好,所以引用了。谢谢。


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部