特定控制器上的 ASP.NET MVC2 Windows 身份验证
在 ASP.NET MVC2 中,如何配置站点,以便默认情况下不需要身份验证,但在一个特定控制器上我确实需要 Windows 身份验证。
编辑:根据我的测试,我认为这是不可能的。
In ASP.NET MVC2 how do I configure a site such that by default no authentication is required, but on one particular controller I do want Windows Authentication.
Edit: I don't think this is possible based on my testing.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
MyController
上的所有操作都需要授权,但任何不具有[Authorize]
属性的内容都应该可以公开访问。您还需要在 web.config 中设置 Windows 身份验证。
此链接可能会有所帮助。
编辑
唯一需要创建单独的应用程序的情况是,如果您需要在同一站点内同时使用 Windows 和表单身份验证 - 例如,如果您需要用户进行表单身份验证才能点击某个讨论论坛,但用于管理区域的 Windows 身份验证。由于身份验证方法是在应用程序级别设置的并且无法覆盖,因此在这种情况下,应用程序中需要 Windows 身份验证的部分必须拆分为单独的 Web 应用程序和 IIS 中的虚拟目录。
will require authorization for all actions on
MyController
, but anything that doesn't have the[Authorize]
attribute should then be publically accessible.You'll also need to set the Windows authentication in web.config.
This link may be helpful.
Edit
The only time it should be necessary to create a separate application is if you need to use both Windows and forms authentication within the same site - for instance, if you needed forms authentication for users to hit, say, a discussion forum, but windows authentication for an admin area. Since the authentication method is set at the application level and can't be overridden, in this case the parts of the app that require windows authentication would have to be split into a separate web app and virtual directory in IIS.
我认为这是不可能的,因为您需要在 IIS 中的站点级别设置 Windows 身份验证。您将需要两个单独的网络应用程序来实现此功能。
I do not think this is possible since you need to set windows auth at the site level in IIS. You will need two separate web apps for this functionality.