是否有一种方法可以只将.net web服务中的某个web方法暴露给特定的用户/组?
本文关键字:方法 web 暴露 用户 服务 一种 是否 net | 更新日期: 2023-09-27 18:09:58
我有一个web服务,它有多个web方法。是否有一种方法可以只将这些web方法中的一种暴露给特定的组或个人?
到目前为止,我使用Windows身份验证和用户组进行授权。这只允许完全访问web服务。
<authentication mode="Windows"/>
<authorization>
<allow users="*" roles="domain'groupName"/>
<deny users="*"/>
</authorization>
是否有办法在角色属性中添加另一个组,只允许访问"MyMethod",而不是存在于web服务中的其他web方法?
任何帮助都非常感谢!
查看WCF中的身份验证、授权和身份一文中的WCF中基于角色的授权选项。声明性授权部分似乎就是您要找的。
我不认为您可以通过方法定义身份验证,但您可以通过目录或页面定义身份验证。所以也许如果你把你的方法重新排列成离散的服务。
下面是一个如何通过页/目录 进行身份验证的示例<configuration>
<location path="Logon.aspx">
<system.web>
<authorization>
<allow users="*" roles="domain'groupName"/>
<deny users="*"/>
</authorization>
</system.web>
</location>
</configuration>
这里是原始文章的链接,可能会对你有所帮助。http://msdn.microsoft.com/en-us/library/b6x6shw7.aspx