小编Wil*_*eys的帖子

未提供所需的防伪标记或无效

我正在使用MVC 3,从我能看到的一切设置正确.

用户Authenticates使用AntiForgery Token提交表单,一切正常.

除非用户已将表单保留为打开并且在该时间内用户登录已过期,否则这是除非.

当用户提交表单时,因为他们不再进行身份验证,他们应该被带回登录页面.(这确实发生过几次)

取而代之的是"未提供所需的防伪令牌或无效".被扔了.我想它被抛出是因为加密的令牌包含一些用户细节,由于用户不再经过身份验证而无法验证.

异常是正确的但不应该被抛出,因为页面应该跳回到登录屏幕,因为真正的问题是用户离开打开的表单并且他的登录超时.

这个问题很难复制,因为它并不总是这样做.

我看到很多人似乎遇到了这个问题,但没有解决方案.

这是MVC本身的问题吗?

机器密钥设置和东西都是正确的,所以这不是问题.

c# model-view-controller asp.net-mvc antiforgerytoken

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

修剪所有已发布的字符串到 API ASP.NET CORE 3.x

有关许多 .Net 版本的信息到处都是,我找不到具体的最新示例。

\n

我正在尝试自动修剪我自动发布到 API\xe2\x80\x99s 的所有 \xe2\x80\x9cstring\xe2\x80\x9d 值。

\n

请注意,这是 ASP.NET CORE 3.x,它引入了新的命名空间 \xe2\x80\x9cSystem.Text.Json\xe2\x80\x9d 等。而不是大多数旧示例使用的 Newtonsoft 命名空间。

\n

Core 3.x API\xe2\x80\x99s 不使用模型绑定,而是使用我尝试覆盖的 JsonConverter,因此模型绑定示例与此处无关。

\n

以下代码确实有效,但这意味着我必须添加注释:

\n
[JsonConverter(typeof(TrimStringConverter))]\n
Run Code Online (Sandbox Code Playgroud)\n

在我也发布的 API 模型中的每个字符串上方。\n我该如何执行此操作,以便它只对全局所有 API 模型中定义为字符串的任何内容执行此操作?

\n
// TrimStringConverter.cs\n\n// Used https://github.com/dotnet/runtime/blob/81bf79fd9aa75305e55abe2f7e9ef3f60624a3a1/src/libraries/System.Text.Json/src/System/Text/Json/Serialization/Converters/JsonValueConverterString.cs\n// as a template From the DotNet source.\n\n\nusing System;\nusing System.Text.Json;\nusing System.Text.Json.Serialization;\n\nnamespace User\n{\n    public class TrimStringConverter : JsonConverter<string?>\n    {\n        public override string? Read(\n            ref Utf8JsonReader reader, \n            Type typeToConvert, \n            JsonSerializerOptions options)\n        {\n            return reader.GetString().Trim();\n        }\n\n        public override void Write(\n            Utf8JsonWriter writer, \n …
Run Code Online (Sandbox Code Playgroud)

c# asp.net api json asp.net-core

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

在asp.net mvc pipline中替换文本的最佳位置


版本2

我已经更新了原始代码,考虑到write方法以块的形式从页面流式传输HTML.

正如所指出的那样'因为您不能保证在写入时将"THE_PLACEHOLDER"写入连续的字节块中.您可以在一次写入结束时获得"THE_PLACEH",并在下一次开始时获得"OLDER".

我已经通过将流的完整内容放在Stringbuilder中并执行Close方法所需的任何更新来解决此问题.

这样做后,我再次在下面问同样的问题....


我正在使用CMS,它只是用CMS文本替换占位符.

我有以下工作正常工作.

我已经覆盖了IHttpModule

public class CmsFilterHttpModule : IHttpModule {

  // In the Init method, register HttpApplication events by adding event handlers.
  public void Init( HttpApplication httpApplication ) {

    httpApplication.ReleaseRequestState += new EventHandler( this.HttpApplication_OnReleaseRequestState );

  }

  /// <summary>
  /// HttpApplication_OnReleaseRequestState event handler.
  /// 
  /// Occurs after ASP.NET finishes executing all request event handlers. 
  /// This event causes state modules to save the current state data.
  /// </summary>
  private void HttpApplication_OnReleaseRequestState( Object sender, EventArgs e ) { …
Run Code Online (Sandbox Code Playgroud)

c# asp.net asp.net-mvc performance placeholder

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

Transact SQL XQuery XML查询

DECLARE @tProduct TABLE (
  [pProductId] [smallint] IDENTITY(1,1) PRIMARY KEY NOT NULl,
  [ProductDetails] [xml] NOT NULL
)

  INSERT @tProduct 
    ( [ProductDetails] ) 
  VALUES 
    ( N'<product>
         <placeholder name="ProductHeader"><control name="pdRequiredMainHeading"><text position="placeholder1">Blah blah</text></control></placeholder>
         <placeholder name="LeftColumn">
           <control name="pdRequiredSubHeading"><text position="placeholder1">Blah blah</text><text position="placeholder2">Blah blah</text></control>
           <control name="pdRequiredParagraph"><text position="placeholder1">Blah blah</text></control>
           <control name="pdOverlinedUnderlinedHeading"><text position="placeholder1">Blah blah</text></control>
           <control name="pdParagraph"><text position="placeholder1">Blah blah</text></control>
          </placeholder>
          <placeholder name="RightColumn">
              <control name="pdRequiredMediumImage"><image position="placeholder1" alt="Blah blah">Blahblah.gif</image></control>
              <control name="pdMediumImage"><image position="placeholder1" alt="">BlahBlah2.gif</image></control>
              <control name="pdRoundedBorderHeadingUnorderedList"><text position="placeholder1">Blah blah</text><ul position="placeholder2"><li>Blah blah</li></ul></control>
              <control name="pdMediumImage"><image position="placeholder1" alt="">The-Image-I-Want-1.gif</image></control>
          </placeholder>
       </product>' )

  INSERT @tProduct 
    ( [ProductDetails] ) 
  VALUES …
Run Code Online (Sandbox Code Playgroud)

xml sql t-sql xquery sql-server-2008

3
推荐指数
1
解决办法
794
查看次数