Tag: angularjs

如何通过Express路由到多个Angular应用程序?

问题是,我有一个server和client文件夹,而不是客户端我有2个Angular应用程序:1个网站和1个仪表板。 https://github.com/leongaban/bitage/tree/website 目前,我运行服务器后,并击中path/你被路由到网站的应用程序,一旦我似乎无法路由到仪表板的应用程序。 文件夹结构: server/ client/ website/ dashboard/ 服务器/内的main.js正确路由到网站应用程序,但无法路由到仪表板/ //website api ============= var website = express.Router(); app.use('/', website); app.use('/', express.static("../client/website/")); console.log(__dirname + "../client/website/"); website.use(function(req, res, next) { console.log(req.method, req.url); next(); }); website.get('/', function(req, res) { var path = 'index.html'; res.sendfile(path, { 'root': '../client/website/' }); }); //dashboard api =============== var dashboard = express.Router(); app.use('/dashboard', dashboard); app.use('/', […]

在没有用户authentication的情况下保护REST API(无凭据)

我一直在挣扎2天,如何保证REST API没有用户authentication。 这是什么意思 ? 在我的AngularJS应用程序中,我通过发送一个GET请求到我必须使用的现有服务(companydomain / userinfo)来标识用户。 我不知道这是如何工作,因为我不是这段代码的作者,但重点是,我得到的响应中的用户信息作为JSON(活动目录名称,公司电话…)。 这是我必须确定一个用户。 我做了什么 现在,我发现很多资源谈论OAuth,独特的令牌等,但似乎没有什么符合我的问题。 我实现了一个令牌系统,但是由于我无法确定请求者的真实性,所以这是毫无用处的。 用户打开应用程序。 应用程序询问有关用户信息的服务。 companydomain /用户信息 应用程序根据返回的信息向服务器请求一个令牌(nodejs&express)。 / API /标记/获得/ {} USER_INFO 服务器生成一个唯一的令牌,并将其存储在内存中,有效期和拥有者。 如果用户存在(基于活动目录名称),服务器还检查表“授权用户”,如果没有添加新条目。 应用程序将每个请求的令牌发送到API。 / API /项/删除/ {} entry_id 我想你会发现这里有什么问题,攻击者可以很容易地向API发出一个损坏的请求来获取合法的令牌。 所以我的问题是: 我如何设法保护我的API,因为用户不使用凭据来validation? 我希望我的问题已经很清楚了,在这一点上,我甚至不确定如果不添加证书系统就能解决这个问题。

带有variables的Angularjs路由

基本上,这是我正在研究的一种社交types的应用程序。 所以,为了使这个应用程序正常工作,“/ home”状态显示了一个用户列表。 'friends / X'(X是用户ID)显示该用户的个人资料。 所以,这里是我的应用程序与元素ng控制器: ng-click="profile({{friend.id}})" 这挂钩并发送一个函数调用我目前在“/ home”中的控制器“HomeController”。 我的问题是,我怎么打开一个新的状态,并通过一个variables,在这种情况下的friend.id到状态? 谢谢 :) 编辑:基本上我想知道如何一个函数“configuration文件”可以捕获的身份证,然后调用新的状态,并发送它的variablesid friend.id 编辑2:基本上,在“HomeController”中的configuration文件function,它将接受一个I​​D作为参数,例如“1”,它将使用它收到的值,并将应用程序发送到一个新的状态,例如现在新的状态将是“ProfileController”,它将是“/ home / profile”或类似的东西,它会沿着“1”传递到URL,如下所示:“/ home / profile / 1” 。

用express.io转换实时数据的angular度控制器

我是新来的express.io.我有一套代码运行在socket.io与node.js和angular度在前端没有问题。我已经创build了服务器,它发出一个数据的间隔为1000ms.Sample与客户端交互的服务器的代码是 var serverjson = [ {"Product": "REL", "BBP": "10", "BSP": "10.2", "LTP": "10.1" }, {"Product": "BEL", "BBP": "20", "BSP": "20.4", "LTP": "20" }, {"Product": "MTL", "BBP": "50", "BSP": "50.5", "LTP": "50.1" }, {"Product": "BSL", "BBP": "100", "BSP": "101", "LTP": "100.2" } ]; // define interactions with client app.io.route('ready', function(req){ //send data to client setInterval(function(){ for(i=0;i<serverjson.length;i++) […]

没有获得文本框的长度

我正在与angularjs这是一个非常新的。我需要得到一个input框的长度,它显示我“0”。 我的代码如下所示 var valueOfMybox= $("#mybox").val().length 我填写框并警告valueOfMybox它每次显示我0

Socket.io只发送给当前用户

我在一个基本的应用程序中testingSocket.io,但io.sockets.emit似乎没有按预期工作。 以下是我的相关服务器端代码,Angular socket服务和控制器。 当我运行这个代码时,只有当前连接看到console.log语句。 基于io.sockets.emit我会期待相反的(每一个其他用户看到连接另一个用户时logging的消息)。 server.js: var express = require('express'); var app = express(); var port = process.env.PORT || 8000; var io = require('socket.io').listen(app.listen(port)); io.on('connection', function(socket){ io.sockets.emit('connect', {data: 'hey there!'}); }); console.log('Connected on port ' + port); exports = module.exports = app; socket.service.js: angular .module('app') .factory('socketService', function ($rootScope) { var socket = io.connect(); return { […]

HTML不在Jade中渲染

我正在用node.js,express,angular.js和jadebuild立一个网站。 我目前正在博客文章上testinghtml标签,这似乎并没有工作。 我现在专注于标题。 为什么浏览器不把它呈现为HTML? 我有顺便说一句,在铬testing,但我有同样的结果。 这是玉代码: div(ng-repeat='post in posts') h3 |{{post.title}} 这是mongodblogging(有什么相关的): "title": "<strong>This text is strong</strong>", 我能做些什么来解决这个问题?

通过使用Angularjs Expressjs Node和MEAN.js的POST方法将数组传递给$ resource

我想要传递一个数组$ save在$ resource方法,然后在我的服务器控制器接收它来修改数据库中的数据。 我可以在GET中传递一个variables,它工作得很好! 但是我想要通过的数组似乎不工作! 我没有收到我的控制台中的任何错误。 我正在使用MEAN.js和POST和GET请求似乎工作(绿色200),但是当我调用req.body.variable1来访问我通过$ save方法传递的variables它不起作用。 我可以同时拥有POST和GET方法吗? 我将不胜感激任何帮助或暗示,这将导致正确的答案。 谢谢! 资源工厂 angular.module('alls').factory('Alls', ['$resource', function($resource) { return $resource('alls/:issuename', {issuename: '@issuename'}, { get:{ method: 'GET', isArray:true } }); }]); 客户控制器 angular.module('alls').controller('AllsController', ['$scope', '$stateParams', '$location', 'Authentication', 'Alls', function($scope, $stateParams, $location, Authentication, Alls ) { $scope.search = function(){ Alls.get({issuename: $scope.issueinput},function(response){ $scope.alls = response; }); var myArray = new […]

有angular的ui路由器没有注入到控制器的决心

我刚刚开始使用Angular和Express,面临艰难的时刻。 我来自Java背景,想学习Angular和Express,因此试图构build一个小应用程序。 我正在尝试做的 :我已经给用户一个密码重置链接,以便改变他的密码。 链接是这样的: 本地主机:9000 / RESET /:令牌 现在,我创build了一个简单的视图,其中显示了一个input框,如果令牌有效,则更改其密码,否则基于ng-show angular属性显示令牌无效时显示错误。 问题 :在我可以渲染我上面创build的视图之前,我想让ui-router检查:token是否有效。 我将在我的控制器中使用令牌的有效性信息来控制上面提到的ng-show属性。 读完这个之后,我试图利用$ stateProvider.statefunction进行parsing,以获得令牌validation的响应作为先决条件。 这将帮助我渲染实际的视图,我正在使用ng-show技术来显示错误消息或input框来更改基于ui-routerparsingpromiseObject的密码。 现在是什么问题? 那么,在我头脑太久之后,我决定在这里发表我的问题。 任何人都可以帮我吗? 我的问题: 1.我能够从api调用中获取数据/错误,但不知何故,ui-router并没有将其注入到控制器中。 谁能告诉我,我在这里做错了什么? 2.现在,如果令牌无效,我将从后端api返回404响应。 但前端的工厂方法把它作为err(这是在Node.js中预期?)和err被抛出导致deferred.reject()。 现在,如果我使用ui路由器定义,如果承诺没有解决,那么视图将不会被渲染,对吗? 有什么办法可以将这个错误也传递给我的控制器? 我要求通过err的原因是,我的视图的ng显示逻辑是基于响应代码(4xx / 2xx),这取决于我将显示错误消息还是input框。 代码片段: 调用其余api的工厂方法: isPasswordResetTokenValid: function(token, callback) { var cb = callback || angular.noop; var deferred = $q.defer(); return User.getUserByPasswordResetToken(token, function(data) { deferred.resolve(data); return cb(data); }, function(err) […]

MEANJS:SocketIO中的安全性

情况 我在我的MEAN.JS应用程序中使用库的SocketIO 。 在NodeJS服务器控制器中 : var socketio = req.app.get('socketio'); socketio.sockets.emit('article.created.'+req.user._id, data); 在AngularJS客户端控制器中 : //Creating listener Socket.on('article.created.'+Authentication.user._id, callback); //Destroy Listener $scope.$on('$destroy',function(){ Socket.removeListener('article.created.'+Authentication.user._id, callback); }); 奥基。 效果很好… 问题 如果一个人(黑客或其他人)获得了用户的id ,他可以在另一个应用程序中在同一个频道中创build一个监听器,他可以监视发送给用户的所有数据。 例如所有的通知… 我怎么能做同样的事情,但更安全? 谢谢!