授权问题,FormsAuth 和 ASP.NET MVC

Posted

技术标签:

【中文标题】授权问题,FormsAuth 和 ASP.NET MVC【英文标题】:Authorization problem, FormsAuth and ASP.NET MVC 【发布时间】:2009-04-23 01:02:06 【问题描述】:

我有一个非常简单的 ASP.NET MVC 站点应用程序。 (MVC 1.0)

我的 web.config 中没有授权部分,因为我在控制器上使用了 [Authoize] 属性。

服务器的默认 web.config 允许 * 进行表单身份验证,正如预期的那样。

我有 2 台现有的 Windows 2008 专用(托管)服务器。该网站运行良好。

我有一个新的专用服务器,除了站点无法正常工作外,其他服务器看起来一模一样。每个资源,甚至图像/javascript 都会重定向到登录页面。

我尝试添加显式授权规则以允许 * 和 location 规则,结果相同。我检查了 .NET 信任级别,内部/完全信任。一切都在两台服务器上完美运行,只是这台忽略了所有授权规则。

有什么想法吗? 谢谢

【问题讨论】:

【参考方案1】:

我发现了问题 :) 除非在 Windows 2008 中发生了变化,否则我本来希望这会显示为错误,但如上所述,它被表单身份验证隐藏了。

问题是托管公司现在将数据驱动器添加到您的网站/存储的所有服务器。没有设置允许 IIS 读取文件的权限。我找不到它的原因是我已经为应用程序池用户添加了权限,就我而言,我只是继续添加 ASPNET、网络服务、IIS 匿名用户等以获得完全权限。

我需要让每个人都至少可以读取网站文件夹,然后 IIS 显示非安全内容。我仍然认为形成身份验证很奇怪。开始介入并忽略所有 web.config 规则,但无论如何。

我通过关闭 IIS 7 管理器中的 Forms Auth 支持发现了该错误。然后由于文件权限而出现进程失败错误。

【讨论】:

以上是关于授权问题,FormsAuth 和 ASP.NET MVC的主要内容,如果未能解决你的问题,请参考以下文章

是否有一个好的 ASP.NET 包来实现 StackExchange 样式的身份验证和配置文件

Auth0,带有授权扩展和 ASP.NET 授权

ASP.NET MVC下判断用户登录和授权的方法

Asp.net核心身份声明与基于角色的授权[重复]

ASP.NET 如何授权网站

Jwt 和 ASP.NET CORE 授权 AspNetRoleClaims