Asp.net MVC Form认证,IIS改成集成模式后,FormsAuthentication.SetAuthCookie无效,Request.IsAuthenticated值,始终为false,页面提示HTTP 错误 401.0 - Unauthorized,您无权查看此目录或页面

时间:2022-09-12 17:47:59

最近公司领导要求,IIS网站要由经典模式改为集成模式,以提高性能。改完之后,登录成功跳转到主页之后,页面提示“”HTTP 错误 401.0 - Unauthorized“,“您无权查看此目录或页面”,截图如下:

Asp.net MVC Form认证,IIS改成集成模式后,FormsAuthentication.SetAuthCookie无效,Request.IsAuthenticated值,始终为false,页面提示HTTP 错误 401.0 - Unauthorized,您无权查看此目录或页面

网上找了很多资料,都没法解决。先看看我的网站IIS配置目录:

Asp.net MVC Form认证,IIS改成集成模式后,FormsAuthentication.SetAuthCookie无效,Request.IsAuthenticated值,始终为false,页面提示HTTP 错误 401.0 - Unauthorized,您无权查看此目录或页面

IIS配置为网站,其中网站根目录下,还有个子应用程序,我们假设网站应用程序名为WebSite,子应用程序名为Portal,其中WebSite网站对应的文件夹下有Web.config,Portal子应用程序对应的文件夹下也有web.config。而WebSite文件夹下的web.config为根目录配置文件,且配置了form认证,配置如下:

<authentication mode="Forms">
<forms cookieless="UseCookies" loginUrl="/Portal/Account/Login" protection="None" timeout="120"></forms>
</authentication>

按里说,这里配置了form认证,登录成功就可以跳转到主页,但事实上并非如此,一直提示上面的报错。后来看了网上的一片帖子,找到了答案:

https://*.com/questions/19536955/request-isauthenticated-is-always-false

其中Ger Groot给出答案中,解决了我的问题:

<modules>
<remove name="FormsAuthentication" />
<add name="FormsAuthentication" type="System.Web.Security.FormsAuthenticationModule" />
</modules>

原来只需要在我的子应用程序web.config文件中,system.webServer目录下,添加以上代码就行了,问题解决。

后来再仔细思索了一下,发现

<remove name="FormsAuthentication" />

这段原本就在子应用程序web.config配置中存在,莫非就是因为这个导致子应用程序portal没有权限?索性去掉这句,也无需添加

<add name="FormsAuthentication" type="System.Web.Security.FormsAuthenticationModule" />

问题得到解决。

Asp.net MVC Form认证,IIS改成集成模式后,FormsAuthentication.SetAuthCookie无效,Request.IsAuthenticated值,始终为false,页面提示HTTP 错误 401.0 - Unauthorized,您无权查看此目录或页面的更多相关文章

  1. 由于 web 服务器上此资源的访问控制列表&lpar;acl&rpar;配置或加密设置,您无权查看此目录或页面。

    场景:IIS中遇到无法预览的有关问题(HTTP 异常 401.3 - Unauthorized 由于 Web 服务器上此资源的访问控制列表(ACL)配置或加密设置 IIS中遇到无法预览的问题(HTTP ...

  2. 将h5用HBuilderX打包成安卓app后,document&period;documentElement&period;scrollTop的值始终为0或者document&period;body&period;scrollTop始终为0

    let time = setInterval(() => { let scroll = document.documentElement.scrollTop || document.body.s ...

  3. IIS配置伪静态 集成模式 样式丢失

    最近将一个老网站迁移到新服务器,因为需要做伪静态配置,在网上找了一些教程跟着配置.结果却出现:按照网上教程配置完后将应用程序池模式改为经典模式,然后验证规则就匹配不了.改成集成模式验证规则能匹配但是网 ...

  4. Asp&period;Net实现FORM认证的一些使用技巧&lpar;转&rpar;

    最近因为项目代码重构需要重新整理用户登录和权限控制的部分,现有的代码大体是参照了.NET的FORM认证,并结合了PORTAL KITS的登录控制,代码比较啰嗦,可维护性比较差.于是有了以下的几个需求( ...

  5. Asp&period;Net实现FORM认证的一些使用技巧

    原文转发:http://www.cnblogs.com/Showshare/archive/2010/07/09/1772886.html 最近因为项目代码重构需要重新整理用户登录和权限控制的部分,现 ...

  6. 在ASP&period;NET MVC中使用IIS级别的URL Rewrite

    原文 在ASP.NET MVC中使用IIS级别的URL Rewrite 大约一年半前,我在博客上写过一系列关于URL Rewrite的文章(2.3.4),把ASP.NET平台上进行URL Rewrit ...

  7. HTTP 错误 401&period;3 - Unauthorized asp&period;net mvc 图片,css,js没有权限访问

    一.在服务器上发布了一个asp.net的网站,结果是页面可以显示,但是css,js,images无法访问,报错是没有权限,HTTP 错误 401.3 - Unauthorized 二.根据以往的经验, ...

  8. ASP&period;NET MVC 中使用 AjaxFileUpload 插件时,上传图片后不能显示(预览)

    AjaxFileUpload 插件是一个很简洁很好用的上传文件的插件,可以实现异步上传功能,但是在 ASP.NET MVC中使用时,会出现上传图片后不能正确的显示的问题,经过仔细排查,终于找到原因,解 ...

  9. FormItem label 属性 可以改成 slot模式 就能加入br回车了 iview

    FormItem label 属性 可以改成 slot模式 就能加入br回车了 iview <FormItem> <div slot='label'>测试文字<br&gt ...

随机推荐

  1. Ubuntu install codeblocks by ppa

    sudo add-apt-repository ppa:damien-moore/codeblocks-stable sudo apt-get update sudo apt-get install ...

  2. NSDateFormatter遇到无法转换的问题

    NSDateFormatter并不是万能的,并不是给出什么字符串都能转遍为NSDate类型,所转换的格式必须必须和你给出的格式想对应 比如说:NSString *dateStr = @"20 ...

  3. 快速入门系列--Log4net日志组件

    Log4net是阿帕奇基金会的非常流行的开源日志组件,是log4j的.NET移植版本,至今已经有11年的历史,使用方便并且非常稳定,此外很重要的一点是其和很多开源组件能很好的组合在一起工作,例如NHi ...

  4. Android 之 用WebView显示网页

    WebView可以使得网页轻松的内嵌到 app 里,还可以直接跟js相互调用. WebView有两个方法:setWebChromeClient 和 setWebClient (1) setWebCli ...

  5. c&num;接口和new关键字和属性访问器基础收获

    1.interface 对于接口,一把我在项目中会这样使用: interface IStudent { string Name(); string GoSchool(); } 但是呢,这样有个不好的地 ...

  6. Java面向对象总复习-QuickHit

    1.创建玩家级别类Level.java package com.bdqn; /** * 1.玩家级别类 * @author pc * */ public class Level { /** * 级别号 ...

  7. Unicode字符集,各个语言的区间

    链接:http://www.cnblogs.com/zl0372/p/unicode.html 链接:http://www.unicode.org/ 链接:https://zh.wikipedia.o ...

  8. HNOI2008玩具装箱

    斜率优化 # include <stdio.h> # include <stdlib.h> # include <iostream> # include <s ...

  9. Laravel底层实现原理系列

    Laravel 从学徒到工匠精校版 地址:https://laravelacademy.org/laravel-from-appreciate-to-artisan

  10. ORACLE根据两个表都含有的字段条件来判断两个表连接后有没有数据

    A表  字段1 字段2 B表  字段1 字段3 A表的字段1=B表的字段1 SELECT DISTINCT A.字段2 FROM TABEL1  A ,TABEL2  B  WHERE  A.字段1 ...