当前位置: 首页 > news >正文

网站制作设计机构wordpress服务框

网站制作设计机构,wordpress服务框,邢台网站推广多少钱,宣传片拍摄服务最近刚刚参与一个基于Play框架的管理平台的升级工作#xff0c;其中涉及到了用户的验证工作。第一次接触play框架#xff0c;直接看已有代码#xff0c;有点晕。因此#xff0c;自己实现了一个简单的用户验证功能。 首先#xff0c;新建一个User类#xff0c;包含两个属性…最近刚刚参与一个基于Play框架的管理平台的升级工作其中涉及到了用户的验证工作。第一次接触play框架直接看已有代码有点晕。因此自己实现了一个简单的用户验证功能。 首先新建一个User类包含两个属性包含两个属性email和password。并在构造器中对密码进行了加密。 Entitypublic class User extends Model { Id private String email; private String password; // Constructor public User(String email, String password) { String passwordHash BCrypt.hashpw(password, BCrypt.gensalt()); this.email email; this.password passwordHash; }}接下来新增控制器Application.java其中主要包含包含两个动作和一个表单类Registration。一个动作register()用于显示注册页面另一个动作postRegister处理表单提交的信息并增加相应的数据库记录。Registration则对应注册页面所显示的表格 public class Application extends Controller {public static class Registration {Emailpublic String email;Requiredpublic String password;}public static Result register() {FormRegistration userForm Form.form(Registration.class);return ok(views.html.register.render(userForm));}public static Result postRegister() {FormRegistration userForm Form.form(Registration.class).bindFromRequest();User user new User(userForm.get().email, userForm.get().password);user.save(); return ok(registered); } }其后新增Rigister所对应的前端页面并在Routes文件中为Appication所对应的动作增加访问路径。 !DOCTYPE html htmlbodyh1 Registration /h1helper.form(action routes.Application.postRegister()) {helper.inputText(userForm(email))helper.inputPassword(userForm(password))input typesubmit}/body /htmlRoutes文件 GET /register controllers.Application.register() POST /register controllers.Application.postRegister()其后访问页面输入用户名和密码可以看到数据库中新增了一条记录。接下来将用户验证的逻辑加入到User类中修改User类新增authenticate()方法。authenticate()接收的是明文密码。上面的验证中首先检查用户邮箱是否存在。如果存在则检查密码是否符合数据库的记录。如果邮箱或者密码错误将返回null。否则返回正确的用户对象。 // Querypublic static Model.FinderInteger, User find new Model.Finder(Integer.class, User.class);// Authentificationpublic static User authenticate(String email, String password) {User user find.where().eq(email, email).findUnique();if (user null) {return user;} else if (BCrypt.checkpw(password, user.password)) {return user;} else {return null;}}接下来进一步修改Application控制器增加两个动作和一个表单类。动作login()用于显示登录页面动作postLogin()用于处理登录表单填写的信息并根据信息决定是否登入用户。Login类对应登录页面的表单。 public static class Login {Emailpublic String email;Requiredpublic String password;public String validate() {if (User.authenticate(email, password) null) {return Invalid user or password;} return null;}}public static Result login() {FormLogin userForm Form.form(Login.class);return ok(views.html.login.render(userForm));}public static Result postLogin() {FormLogin userForm Form.form(Login.class).bindFromRequest();if (userForm.hasErrors()) {return badRequest(Wrong user/password);} else {return ok(Valid user);}}其中在静态类Login中增加了validate()方法并在其中调用User的验证逻辑。正如postLogin()中所示表单的hasErrors()方法将自动检查validate()方法的返回值。如果validate()方法返回为null则说明表单无误。postLogin()的if结构将根据登录是否合法来返回不同的结果。最后同样的在Routes文件中新增两条对应的URL GET /login controllers.Application.login() POST /login controllers.Application.postLogin()其后访问/login页面并尝试登录。发现已增加了验证功能。 转载于:https://www.cnblogs.com/junjiang3/p/7027893.html
http://www.zqtcl.cn/news/966446/

相关文章:

  • 散文古诗网站建设目标做公司网站要钱吗
  • 营销网站建设规划小浪底水利枢纽建设管理局网站
  • 建站的目的网站的月度流量统计报告怎么做
  • 网站备案添加域名拼多多代运营公司十大排名
  • 网站访客qq获取系统 报价客户管理系统入口
  • 院网站建设情况报告怎么在虚拟主机上建网站
  • 厦门网站建设系统鞍山百度网站怎么制作
  • html5建设网站app开发公司不退款该怎么投诉
  • 南昌网站建设公务手工制作代加工接单网
  • 排名好的手机网站建设你知道吗 网站
  • 网站信息组织优化成都网站制作计划
  • 网站网页背景颜色 多彩做搜狗网站点击赚钱
  • 门户网站开发 系统介绍wordpress 代码在哪
  • 石家庄网站设计建设门面设计效果图
  • 公司设计网站多少钱月子中心网站设计
  • 网站悬浮微信二维码手机端网站优化排名seo推广
  • 房地产公司网站建设乡村建设规划网站
  • 有没有做高仿手表的网站商会网站模板
  • 网站建设小组网页微博
  • org域名做商业网站弹出快捷菜单一般通过
  • wordpress模板的网站_网页字体怎么修改?网站权重怎么查询
  • 企业门户网站的建设与实现论文莲花直播
  • 做网站公司需要什么职位临沂seo代理商
  • 网站建设和发布的一般流程图wordpress 后端
  • 西安哪有学做淘宝网站html企业网站源码
  • 网站成品超市核心关键词是什么意思
  • 为什么自己花钱做的网站竟然不是自己的 (wordpress排版工具
  • 2017优惠券网站怎么做坪山网站建设特色
  • wordpress 多站点模式望江网站建设
  • 常熟网站制作哪家好平面素材设计网站