我的Firebase读/写规则受到了阻碍.我希望我有办法设置断点,因为它正在检查身份验证(没有办法,是吗?).
我的问题很简单,我觉得我应该能够更好地理解它.我觉得大部分源于完全不了解规则.此信息用于在线查看产品的简单方法,并且所有者需要能够添加产品.所以我希望世界能够阅读,登录的人能够写作.
我的数据如下:
app
Users
email: xxx@xxx.com
product
0
name: pizza
Run Code Online (Sandbox Code Playgroud)
我的规则:
{
"rules": {
"product":{
".read": true,
".write":"root.child('Users').child(auth.uid).child('email').val() === 'testuser@test.com'"
}
}
}
Run Code Online (Sandbox Code Playgroud)
我对这意味着什么并不了解.我真的只想说,如果用户登录,则允许写入功能.我希望我可以这样的".write": "auth"意思,如果auth存在(用户登录)然后让他写.但我显然不完全明白规则如何运作.我正在使用简单的电子邮件/密码验证.
如何测试这些规则以及如何将参数传递给它们?
我发出一个POST请求,请求就位,等待它最终失败.我监视了nginx日志和节点服务器日志,请求甚至没有注册.除了另一位同事之外,这对我测试过的任何人都有效.如果我使用边缘浏览器或其他计算机,它可以正常工作.
我试图向其他(自定义)服务器发出POST请求,并且它也挂起了选项.我也用jQuery发出了POST请求,它也以同样的方式失败.
可能值得注意的是我正在使用withCredentials标志.
头:
Provisional headers are shown
Access-Control-Request-Headers:content-type
Access-Control-Request-Method:GET
Origin:http://localhost:8080
Referer:http://localhost:8080/<path>
User-Agent:Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.84 Safari/537.36
Run Code Online (Sandbox Code Playgroud)
请求:
public login(user) {
const endpoint = `http://<url>`;
let headers = new Headers();
headers.append('Content-type', 'application/json');
return this.http
.post(endpoint, JSON.stringify(user), {
headers: headers,
});
}
Run Code Online (Sandbox Code Playgroud)
我订阅了我的组件中的调用:
this._accountService.login(this.user)
.subscribe(res => {
console.log("logged in!");
if (res.json().status === "success") {
window.location.href = `/home/${this.org}/${this.product}`;
}
else {
// What other options are there?
console.log("Do something else maybe?");
}
},
err => { …Run Code Online (Sandbox Code Playgroud) 我试图在where子句中做一些"if"语句.我意识到sql不支持这个,但我确信必须有一些方法可以使用sql语法.如我在粗体区域所示,我试图找到所有以d开头的项目,如果他们的userfld2也是容器,则将其过滤掉.
有没有一种比我正在做的更合理的方式来做这件事还是我离开了标记?
提前致谢.
Select a.ItemID
, b.ConversionFactor VCaseAmt
, sum(c.ConversionFactor + 1) SCaseAmt
, a.status
, a.UserFld2
From timItem a
inner join timItemUnitOfMeas b on a.ItemKey = b.ItemKey
and b.TargetUnitMeasKey = 115
left join timItemUnitOfMeas c on a.ItemKey = c.ItemKey
and c.TargetUnitMeasKey = 116
left join timItemUnitOfMeas d on a.ItemKey = d.ItemKey
and d.TargetUnitMeasKey = 126
Where d.TargetUnitMeasKey is null
and b.ConversionFactor != c.ConversionFactor + 1
and a.Status = 1
and **(filter a.itemid not like 'd%' when a.userfld2 = 'Container')** …Run Code Online (Sandbox Code Playgroud) 我很困惑.我们的每位员工都必须登录我们的服务器,开始他们的ASP会话.我所做的所有研究表明,我们应该能够改变这个会话的持续时间,session.timeout x其中x是我们希望会话持续的分钟数,默认为20分钟.我已经改变了这个超时而没有任何一致的结果.
我终于设置了一个函数来检查我是否每10秒登录一次,看看是否可以确定一致的会话长度.到目前为止,在8次试验中,时间从7小时到40小时不等.我已经在chrome和firefox浏览器中完成了这个操作,以查看不同的会话时间,并且它们一直在同一时间超时.然而,同事们并没有在这些确切的时间里超时.
我读了一些关于global.asa的内容.我们要么没有使用这个,要么我们都不了解它,知道它在哪里.
我也读过并尝试更改IIS中应用程序池的超时会话.我正在从Windows 7开始,大部分教程都是针对旧版本的Windows,但我相信我找到了正确的位置,但我仍然无法发现我所做的更改有所不同.
tl; dr - 有没有办法找到经典ASP会话剩余多少时间?
超级困惑的是这个问题.一切都在本地工作,但当我部署到Heroku时它会遇到这个错误:
Bundler could not find compatible versions for gem "mime-types":
In Gemfile:
rails (= 3.2.17) ruby depends on
mime-types (~> 1.16) ruby
stripe (>= 0) ruby depends on
mime-types (2.3)
Run Code Online (Sandbox Code Playgroud)
我已经尝试过gem在gemfile和命令行中安装mime-types 2.3并且都没有给出任何好的结果,尽管可能是因为我缺乏经验.
如果我有头发,我会把它拉出来!同样,只有在部署到Heroku时才会出现此问题.Everything bundle在本地安装和更新.
我对Angular很新,所以如果这里有一些不正确的想法,请告诉我.
我正在尝试基于相同的数据集创建两个单独的范围变量.我假设我只能将它们设置为不同的变量(如下所示),它会起作用.然而,我发现,无论它们的名称是什么,或者它们是如何定义的(即使在指令中!),更改它们都会改变它们.
所以...我期望/希望看到的是,如果我更改顶部重复的输入,它将只更改该重复的模型.目前它改变了这三个.
我在哪里错了?我认为这与双向数据绑定有关.提前致谢!
HTML:
<h4>data</h4>
<div ng-repeat="person in data">
{{person.name}}
<input ng-model="person.name" />
</div>
{{data[0].name}}
<br>
<br>
<h4>testData</h4>
<div ng-repeat="person in testData">
{{person.name}}
<input ng-model="person.name" />
</div>
{{testData[0].name}}
<h4>Directive</h4>
<div tester data="data"></div>
Run Code Online (Sandbox Code Playgroud)
指令HTML:
<div ng-repeat="person in data">
{{person.name}}
<input ng-model="person.name" />
</div>
{{data[0].name}}
Run Code Online (Sandbox Code Playgroud)
JS:
var app = angular.module('test', []);
(function () {
var testController = function ($scope) {
var data = [
{name:'Jordan', age:30},
{name:'Sean', age:32},
{name:'Seth', age:26}
];
$scope.data = data;
$scope.testData = data;
}
testController.$inject = …Run Code Online (Sandbox Code Playgroud) angularjs ×1
asp-classic ×1
cors ×1
data-binding ×1
firebase ×1
heroku ×1
iis ×1
iis-7.5 ×1
javascript ×1
mime-types ×1
session ×1
sql ×1
strip ×1