我有服务,
[ServiceContract]
public interface IProduct
{
[OperationContract]
[WebInvoke(Method = "POST", UriTemplate = "/Products/Update")]
void Update(Product product);
[OperationContract]
[WebInvoke(Method = "GET", UriTemplate = "/Products")]
Product[] Get();
}
现在我只希望域中的特定用户能够更新产品并调用此方法,只有方法本身才能检查登录用户是否是我想要授予权限的用户,有没有更好的方法?
Update(Product product)
{
if (HttpContext.Current.User.Identity.Name == "Something")
{
// update product
}
}
答案 0 :(得分:1)
好吧,您可以使用PriciplePermission
属性来允许特定用户/组访问特定资源。使用内部ASP.Net角色提供程序。此属性可以在类级别以及单个方法上使用。
有关实施细节 -
https://msdn.microsoft.com/en-us/library/ms731200(v=vs.110).aspx