我无法找到有关此信息的任何信息。
在web.config中,是否可以限制对.svc / controller中单个方法/端点的访问?或者必须限制对整个控制器的访问?
例如,这可行,但限制对整个SVC的访问:
<location path="ManagementService.svc">
<system.webServer>
<security>
<ipSecurity configSource="config\ipFilter.config" />
</security>
</system.webServer>
</location>
如果我的SVC中有两个方法,并且我想要一个不被过滤的方法,我可以写一些类似的东西:
<location path="ManagementService.svc/DeleteUser">
<system.webServer>
<security>
<ipSecurity configSource="config\ipFilter.config" />
</security>
</system.webServer>
</location>
限制只访问单个方法,同时让其他方法可以访问?
如果答案是否定的则不可能,实现这一目标的最佳方法是什么?只是检查代码中的IP?
答案 0 :(得分:0)
是的,但是要按端点过滤,您必须在行为级别使用IFFilter而不是system.webServer,这会影响所有端点。
从system.WebServer中删除安全标记并添加行为,如下所示:
<serviceBehaviors>
<behavior name="Filter1">
<IPFilter filter="192.168.*.* 127.0.0.1" />
</behavior>
</serviceBehaviors>
当然,您需要为要配置的每个端点创建不同的行为。
通过方法它也是可能的,但你需要在代码中实现。
希望它有所帮助。