个人知乎 ##功能一-登录注册
2017-11-24 20:57
323 查看
个人知乎
功能一-登录注册
注册
用户名合法性检测 密码长度要求 密码salt加密 用户邮件/短信激活
登录
token登记关联userid,保存入数据库 token有效期设置,下发给浏览器 cookie是token的一种形式
浏览
浏览器访问时带上cookie,服务端查cookie 判断用户状态,权限
拦截器
切面的思路:框架拦截器 所有业务都需要先判断->用户登录 判断完成后加入到上下文使能够渲染出用户信息
public class PassportInterceptor implements Handler Interceptor{ boolean preHandle()throws Exception{ //利用Dao验证cookie //之后加入经过验证的数据到上下文 HostHolder.set(user); } void postHandle() throws Exception{ //是能够在所有模板中访问user modelAndView.addObject("user",hostHolder.get User()); } void afterCompletion() throws Exception; } //线程本地变量 @Component public class HostHolder{ //每个线程都有一个不同的user private static ThreadLocal<User> users= new ThreadLocal<>(); //注意形式,转为当前线程user //实现map<线程id,user>形式 public User getUser(){ return users.get(); } public void setUser(User user){ users.set(user); } public void clear(){ users.remove(); } }
拦截器配置,注意拦截器间的顺序
public class WendaWebConfiguration extends WebMvcConfigurer Adapter{ @Autowired PassportInterceptor passportInerceptor; @Override public void addInterceptors(InterceptorRegistry registry){ //注册拦截器,并配置拦截url registry.addInterceptor(passportInterce ptor).addPathPatterns("/user/*"); super.addInterceptors(registry); } }
未登录跳转:优化用户体验
记录登录前想要访问的页面,登录后自动跳转 拦截器判断是否登录:跳转到登陆页 记录当前页:跳转时带一个参数next记录当前url 实现跳转:对应controller内解析next
数据安全性
相关文章推荐
- WordPress 使用 Pie-Register 添加前台注册、登录、找回密码和编辑个人资料功能
- jquery访问servlet的注册登录界面-仿知乎个人网站fourask(一)
- 用缓冲数据流写用户的注册和登录功能
- laravel(七)laravel自动生成基本注册登录功能
- 使用PHP实现用户登录和注册的功能
- 最新现金盘口娱乐网吉林快三盘口手机验证码注册登录功能开发
- 移动APP功能测试之登录、注册、忘记密码测试要点
- 如何做WP的登录/注册功能
- 绑定手机号功能,注册后在个人中心有一个绑定手机号的菜单,输入手机号码,手机接收短信验证码(有效期5分钟),,简述实现思路。
- App登录注册功能,怎样做到用户体验最佳?
- Android登录注册功能封装
- 一步步开发自己的博客 .NET版(3、注册登录功能)
- PHP网站注册登录功能的原理是什么?
- 用IO写一个简单的登录注册功能
- JSP 实现登录注册功能
- 20180218.优化登录注册注销,数据库嵌套查询提取关注用户的名称,关注粉丝等功能BUG记录
- Android设计登录界面、找回密码、注册功能
- 【Android】 使用okhttp实现注册登录功能(与服务器端)
- Android设计登录界面、找回密码、注册功能
- 登录,注册,个人信息,退出的隐藏和出现