我正在尝试加密一些userData以使用Forms身份验证创建我自己的自定义IPrincipal和IIdentity对象 - 我已将表示我登录用户的对象序列化为Json并创建了我的FormsAuthentication票证,如下所示:
string user_item = GetJsonOfLoggedinUser();/*get JSON representation of my logged in user*/
System.Web.Security.FormsAuthenticationTicket ticket =
new System.Web.Security.FormsAuthenticationTicket(1,
WAM.Utilities.SessionHelper.LoggedInEmployee.F_NAME + " "
+ WAM.Utilities.SessionHelper.LoggedInEmployee.L_NAME,
DateTime.Now, DateTime.Now.AddMinutes(30), false, user_item);
string encrypted_ticket = System.Web.Security.FormsAuthentication.Encrypt(ticket);
HttpCookie auth_cookie =
new HttpCookie(System.Web.Security.FormsAuthentication.FormsCookieName, encrypted_ticket);
Response.Cookies.Add(auth_cookie);
Run Code Online (Sandbox Code Playgroud)
但是,字符串encrypted_ticket
总是如此null
.user_item
字符串的长度是否有限制?
谢谢穆斯塔法
我正在使用类似于此的代码通过ASP.NET设置一个带有过期日期的cookie
System.Web.Security.FormsAuthenticationTicket ticket = new System.Web.Security.FormsAuthenticationTicket(1, uname, DateTime.UtcNow, DateTime.UtcNow.AddDays(30), bool_persist, "some custom string data here");
string encrypted_ticket = System.Web.Security.FormsAuthentication.Encrypt(ticket);
HttpCookie auth_cookie = new HttpCookie(System.Web.Security.FormsAuthentication.FormsCookieName, encrypted_ticket);
auth_cookie.HttpOnly = true;
if (persist) //passed in to method as parameter
{
auth_cookie.Expires = DateTime.UtcNow.AddDays(30);
}
auth_cookie.Domain = ".mydomainname.com";
Response.Cookies.Set(auth_cookie);
Run Code Online (Sandbox Code Playgroud)
我还在同一个请求中设置另一个cookie来保留其他一些数据,然后我重定向到另一个页面.
以下标题介绍了响应
HTTP/1.1 302 Found
Location: /redirect_to_this_page
Set-Cookie:.myAuthCookie=TRUNCATED_ENCRYPTED_DATA_FOR_READABILITY; domain=.mydomainname.com; expires=Sun, 27-Nov-2011 20:27:16 GMT; path=/; HttpOnly
Set-Cookie:__MyOtherCookie=; domain=full.mydomainname.com; expires=Thu, 28-Oct-2010 20:27:24 GMT; path=/; HttpOnly
Run Code Online (Sandbox Code Playgroud)
根据请求/redirect_to_this_page
,我没有看到由于某种原因发送标头.
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Charset:ISO-8859-1,utf-8;q=0.7,*;q=0.3
Accept-Encoding:gzip,deflate,sdch
Accept-Language:en-US,en;q=0.8
Cache-Control:max-age=0
Connection:keep-alive
Cookie:__utma=113888769.1619895090.1322774580.1322774580.1322774580.1; __utmb=113888769.5.8.1322774827282; __utmc=113888769; …
Run Code Online (Sandbox Code Playgroud) 在此处查看我的代码示例:http : //pastebin.com/D1ZctG11
要点是:如果您扩展了一个选择框(通过键盘或鼠标),jquery 的关键事件似乎不会触发 - 至少在 Mac Chrome 中不会。
有什么解决方法吗?
我的最终目标是选择用户在使用optgroup
元素时展开选择框时输入的内容。
编辑:
jsfiddle 链接:http : //jsfiddle.net/XacfX/
谢谢
穆斯塔法
我尝试创建一个新的 s3 存储桶并遇到冲突,尽管我知道该存储桶名称是新的、唯一的,并且自使用该名称以来已经过去了很多小时 (8+)。附详细信息。我什至尝试过使用一个新名称,但我知道该名称从来都不是我帐户中的存储桶(而且可能从来都不是存储桶)。
下面日志中的名称是虚构的,而不是我正在使用的名称,该名称对于我的域来说是唯一的且具有命名空间。
如果我使用 aws s3 cli 来创建存储桶(即aws s3 mb s3://{same-bucket-name} --region us-east-2
),其中{same-bucket-name}
是我要创建的存储桶的名称,则它可以正常工作。
2019-07-07T00:12:19.463-0400 [DEBUG] plugin.terraform-provider-aws_v2.18.0_x4: 2019/07/07 00:12:19 [DEBUG] Trying to create new S3 bucket: "my-unique-s3-bucket-name"
2019-07-07T00:12:19.464-0400 [DEBUG] plugin.terraform-provider-aws_v2.18.0_x4: 2019/07/07 00:12:19 [DEBUG] [aws-sdk-go] DEBUG: Request s3/CreateBucket Details:
2019-07-07T00:12:19.464-0400 [DEBUG] plugin.terraform-provider-aws_v2.18.0_x4: ---[ REQUEST POST-SIGN ]-----------------------------
2019-07-07T00:12:19.464-0400 [DEBUG] plugin.terraform-provider-aws_v2.18.0_x4: PUT /my-unique-s3-bucket-name HTTP/1.1
2019-07-07T00:12:19.464-0400 [DEBUG] plugin.terraform-provider-aws_v2.18.0_x4: Host: s3.us-east-2.amazonaws.com
2019-07-07T00:12:19.464-0400 [DEBUG] plugin.terraform-provider-aws_v2.18.0_x4: User-Agent: aws-sdk-go/1.20.12 (go1.12.5; darwin; amd64) APN/1.0 HashiCorp/1.0 Terraform/0.12.2
2019-07-07T00:12:19.464-0400 [DEBUG] plugin.terraform-provider-aws_v2.18.0_x4: Content-Length: 153
2019-07-07T00:12:19.464-0400 [DEBUG] plugin.terraform-provider-aws_v2.18.0_x4: …
Run Code Online (Sandbox Code Playgroud) amazon-s3 amazon-web-services terraform terraform-provider-aws
我试图将更改操作保存在Ace编辑器中,然后进行回放。下面有一些伪代码-要点是applyDeltas API对于我的编辑器似乎没有任何作用。我绑定到编辑器更改事件,将更改增量推入数组,然后稍后尝试播放-运行以下代码时看不到任何错误,但是我也看不到编辑器内容更改。
谢谢
穆斯塔法
shouldRecord = true;
myStoredArray = new Array();
editor.on('change', function(e) {
if(shouldRecord) {
myStoredArray.push(e.data);
}
});
//on a button click
shouldRecord = false;
editor.getSession().setValue(''); //clear
for(var currentDelta in myStoredArray) {
editor.getSession().getDocument().applyDeltas(currentDelta);
}
Run Code Online (Sandbox Code Playgroud) ace-editor ×1
amazon-s3 ×1
asp.net ×1
asp.net-mvc ×1
cookies ×1
javascript ×1
jquery ×1
terraform ×1