zoukankan      html  css  js  c++  java
  • MEAN 26

    MEAN 纸质书,第26章内容,使用社交媒体账户作为身份验证来源 先不看。

    功能:登录,注册 或者 用户,身份认证和会话管理

    功能描述:用户注册,登录,查看,编辑信息,logout。

    1、express

    虽然安装了express,但是没有使用express来生成一个project,而是自己搭建文件夹。

    自己已经习惯了public,routes文件夹
    自己搭建的目录,没有捕获异常,如果throw new Error('debug'); 不能正常返回。
    官方推荐的更好一些。
    

     2、models

    在这里只创建User模型,具体的CRUD还是在controller中,

    3、app.js

    注册User模型

    添加路由仍采用原来的方法

    需要bodyparser cookieparser expresssession,

    4、router

    仍采用router.get()

    get在router中处理,post在controller中处理

    get

    server:req.session.msg = 'access denied';  session可以直接传到页面上
    client: <%= msg %>
    

     post

    app.post('user/update', users.updateUser);
    app.post('user/profile', users.getUserProfile);
    查询结果中返回user,判断时,做一个布尔转换:!user
    login success: need regenerate;
    logout success: need destroy

     5、views

    <%= msg %> ejs

    {{ error }}  angular

    如何启动这个服务器呢?我没有用app.js,而是用了auth_server.js,但是按照之前的启动方法,会提示schema的问题。

    现在改为了supervisor bin/www

    还是按照原来的目录结构,把书上的内容新增进来。

    安装mongodb, mongoose, connect-mongo@0.8.2,express-session, bower install angular

    新建controllers,models,

    不用static,用public;不用routes.js,用routes/index.js; 不同auth_server.js, 用app.js; 

    MissingSchemaError: Schema hasn't been registered for model "User".
    Use mongoose.model(name, schema)
    
    解决办法:
    var mongoose = require('mongoose');
    require('./models/users_m.js');
    mongoose.connect('mongodb://localhost/myapp');
    注意:
    要放在route之前。

    /user 能直接返回 用户信息,是因为有ng-controller='myController', 它会调用/user/profile获取数据。  

  • 相关阅读:
    使用.Net Core 2.2创建windows服务
    Ubuntu 18.04 安装部署Net Core、Nginx全过程
    Task的在主线程处理异常信息的Helper类
    行转列的处理。
    netcore 下加密遇到的问题
    关于安装angular-cli环境报错的问题
    64位的windows服务安装问题
    EF.Mysql在codefirst模式下调用存储过程,和再DbFirst模式下的调用
    阿里云消息队列的C#使用http接口发送消息实例
    [转载]EF或LINQ 查询时使用IN并且根据列表自定义排序方法
  • 原文地址:https://www.cnblogs.com/wang-jing/p/5118342.html
Copyright © 2011-2022 走看看