在 IIS7 中禁用 HttpHandler 的安全性
我创建了一个自定义 http 处理程序 (IHttpHandler)。 可以从应用程序中的任何位置调用该处理程序。
例如:domain.com/file.handlerExtension
或者它可以是 domain.com/folder/file.handlerExtension
我的应用程序具有安全性,但此处理程序应该可供使用匿名用户也。由于这种方法,在 Web 配置中为可以调用处理程序的每个可能位置创建位置元素会很混乱。
有没有办法在 IIS7 中删除对特定资源或处理程序的身份验证和授权检查?
I have created a custom http handler (IHttpHandler).
This handler can be called from any place in the application.
eg: domain.com/file.handlerExtension
or it can be domain.com/folder/file.handlerExtension
I have security on my application, but this handler should be available to anonymous users also. Because of this approach it is a mess to create a location element in web config for every posible location from where the handler can be called.
Is there a way to remove check of Authentication and Authorization on a specific resource or Handler in IIS7?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
据我所知 - 不 - 这是作为 HttpModule 处理的(如果不使用 iis 身份验证) - 应用程序配置定义了要保护的 url。唯一的希望可能是破解它,以便它认为用户在身份验证 httpModules 运行之前已经经过身份验证(甚至不确定它是否有效),这意味着更改处理顺序。即使这样,你也必须内置一些逻辑来表示“对这个 uri 的请求强制进行身份验证”,
恕我直言,MVC 的安全处理要好一些,因为你可以简单地使用控制器或方法上的属性来定义安全性,在这种情况下您的应用程序只会对这些请求保持匿名。
As far as I know - No - this is handled as an HttpModule (if not using iis authentication) - the application configuration defines urls to protect. The only hope may be to hack it so it thinks the user is already authenticated (not even sure if it would work) prior to the Authentication httpModules running which would mean changing processing order. and even then you would have to have some logic built in to say 'force authentication for a request to THIS uri'
MVC's security handling is a bit better IMHO as you can simply use attributes on your controllers or methods to define security and in that case your app would simply remain anonymous for those request.