小编Pie*_*rcy的帖子

清除缓存后,set-cookie无法用于IE11/10

我目前遇到的问题是,清除缓存/ cookie后,IE10和IE11将不再设置cookie.请求和响应看起来几乎相同但在清除缓存之后,即使看起来设置正确,cookie也永远不会被传递.

下面是我的登录方法如何流动:

 1. VerifyLogin()    -> Fail: Go To Login page
                     -> Pass: Call rest of the AJAX Methods // Enter Login Credentials and submit
 2. Authentication() -> Fail: Prompt the user
                     -> Pass: set forms auth cookie and navigate back to original page, where it will call VerifyLogin() again
Run Code Online (Sandbox Code Playgroud)

一旦Authentication()通过,它们应该毫无问题地通过VerifyLogin()并继续使用该产品.所有调用现在都会传递表单身份验证cookie.

在我看到它失败的实例中,Authentication()调用传递并获得200 OK(并且具有set-cookie响应头)但是,VerifyLogin()然后失败,因为它没有传递cookie.

我真的很难再现这个,但到目前为止我的复制步骤如下.这是从没有运行IE的实例开始的.我不是100%确定这是我的客户遇到的完全相同的问题,但它似乎揭示了他们所看到的同样问题.

  1. 启动IE
  2. 浏览到站点的索引页面并退回登录(验证失败)
  3. 使用凭据登录,Authentication()返回200 OK并具有set-cookie响应头.然后它会导航并调用通过的VerifyLogin().cookie在请求中发送,并且全部成功.后续调用全部工作.
  4. 清除我的缓存和cookie
  5. 浏览到站点的索引页面并退回登录(验证失败,因为它应该)
  6. 使用凭据登录,Authentication()返回200 OK并具有set-cookie响应头.然后它会导航并在此时调用VerifyLogin()失败.即使先前在Authentication()的响应中设置了cookie,也不会在请求中传递cookie.如果我关闭并重新打开IE,它将再次工作.

所以,就像第二次set-cookie响应一样,没有设置cookie.

首先,Heres我web.config的相关部分以及我如何设置表单cookie.

web.config中:

 <authentication mode="Forms">
      <forms enableCrossAppRedirects="true" name="Gator.Express.Auth" timeout="2880" />
    </authentication>
Run Code Online (Sandbox Code Playgroud)

setAuthenticationCookie方法:

 public void SetAuthenticationCookie(string userName, CookieData cookieData) …
Run Code Online (Sandbox Code Playgroud)

asp.net authentication cookies forms-authentication asp.net-web-api

7
推荐指数
1
解决办法
1580
查看次数

由于保证金最高50px,100%高度div,滚动条50px关闭屏幕.溢出自动

我正在尝试布局一个页面,该页面在顶部和内容区域有一个水平导航栏,当内容太大时,它将获得滚动条.

我目前的做法是div宽度100%; 身高50px; 绝对的位置; 前0; 左0; 然后是第二个高度为100%的div; 宽度100%; margin-top 50px; 溢出:汽车; 但是,出现的滚动条会被50px的边距所抵消,因此会将内容从页面底部推出.如果我删除边距它一切正常但它将内容放在导航栏后面.

我也尝试将它包装在一个容器中进行试验,将边缘和溢出物放在孩子身上,但这似乎仍然没有达到要求的效果.

jsFiddle,有评论尝试更好地解释它.

http://jsfiddle.net/Piercy/hggXJ/

HTML

<div id="nav">
  <h1>Navigation</h1>
</div>
<!-- <div id="contentContainer"> -->
  <div id="content">
    <div id="oversizeContent">
        <p>You can see the black border on this green box, but you cannot see the bottom black border. Similarly you cannot see the bottom arrow of the scrollbar.</p>
        <p>I tried putting a wrapper around the content and putting the margin on that but the scrollbar still over flows  Uncomment the contentContainer div …
Run Code Online (Sandbox Code Playgroud)

html css layout

6
推荐指数
1
解决办法
9286
查看次数

在某个容器内禁用Bootstrap CSS,停止覆盖css

我目前正在使用bootstrap和knockoutjs来显示一个网页,其中包含一些数据的实时预览.例如,用户在左侧的文本框中输入标题.然后,页面的右侧会根据其他一些设置更新格式化该文本.所以它可能类似于<h1> {title} </ h1>,也可能是<u> {title} </ u>.但是,此时用户请求的所有内容都是纯文本标题.

问题是,预览实际上是用户创建的HTML文档.因此,一些bootstrap CSS会覆盖用户指定的CSS.所以上面的<h1>将继承bootstraps h1 CSS类,而不是使用用户HTML模板中的任何内容.这意味着在使用创建的文档时,预览可能与实际发生的内容不同.

JSFiddle示例:http://jsfiddle.net/Piercy/4fcmk/

HTML:

<div class="content">
<h1>Header 1</h1>

    <div id="Preview">
        <!-- Start Html Template -->
        <style>
            .header
            {
                color: red;
            }
        </style>
        <h1 class="header">Header Class</h1>
        <!-- End Html Template -->
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

CSS:

.content h1
{
    color: blue;
}
Run Code Online (Sandbox Code Playgroud)

用户希望"Header Class"为红色,因为他们对内容css一无所知.在我的代码中我使用bootstrap,但这显示了问题的简化版本.通常,您只是使CSS更具体,但由于用户不知道bootstrap(或在jsFiddle示例内容中),我们真的不希望他们修改CSS.

我需要尝试一种方法来停止某个容器(jsFiddle中的预览div)使用它的父级使用的样式表,或者我可以修改引导CSS的方式,这样就不太可能出现覆盖问题.

当然,将其粘贴在iframe中可以实现此目的,但是在尝试访问和修改预览时我会遇到问题.

我对所有想法持开放态度,只想尝试找到最合适的方式来应对这种情况.我发现这很难放在纸上,所以如果难以理解我会道歉.

html javascript css twitter-bootstrap knockout.js

5
推荐指数
1
解决办法
6356
查看次数

两个div并排,右边div固定宽度

我知道这已经被问过一百万次了,但我似乎仍然找不到答案(大多数问题似乎与我想要的不一样)。

我有两个 div,分别是 #left 和 #right。#right 的固定尺寸为 150px x 50px。我希望 #left 扩展并填充剩余空间,#right 位于屏幕的最右侧。我尝试过以不同的方式浮动它们并设置 display: inline-block; 但我似乎仍然无法确定它。我读过的所有文章都是关于左边的 div 被固定,右边的 div 正在增长。我尝试反转我读到的内容,但它总是导致#left div 在#right 周围浮动。我的意思是,我的#left div 将缩小到最小(内联块),或者它将显示前 50 像素直到 #right,然后 #left 的其余部分将隐藏在 #right 下,而不是保持齐平。

我希望这是有道理的。这有点难以解释。 截屏

html css css-float

4
推荐指数
1
解决办法
8049
查看次数

T-SQL其中int = @ var/@ var = null?

我有一种情况,我调用存储过程并传入一些变量.在某些情况下,我将传递null,我希望它返回所有内容.采取以下(年龄为整数列):

[Table]  
[Name] | [Age]  
Mike   | 22  
Fred   | 18  
Bob    | 22 



SELECT * FROM [table] WHERE [Age]=@AgeVar
Run Code Online (Sandbox Code Playgroud)

现在,如果我通过22,我会得到迈克和鲍勃.同样地传入18将让我得到弗雷德.但是,当我传入null /不设置@AgeVar时,如果我想要所有3行怎么办?这是我的问题,非常简单.

编辑:Sproc是非常复杂的,我真的不想把所有部分加倍,但必须要两次,因为在下面的一个答案中.还有其他方法吗?

sql t-sql sql-server null integer

2
推荐指数
1
解决办法
1965
查看次数