来自网站客户端的WCF授权

我有ASP.NET用户应用程序(基于ASP.NET身份2)。 每个用户都可以将数据发布到WCF服务(ASP控制器后端)。 在系统中是配额,还有角色和其他。 我希望每个用户对WCF的访问权限有限。 如果“用户”试图创建自己的应用程序并连接到服务,我的意思是“基本”用户不能做管理员可以做的事情。

基本上它是关于授权的。 我不知道的是最佳实践。 我应该在头部用户名和一些令牌或网站上发送WCF到WCF进行安全检查,并通过证书或其他保证只接受特定网站应用的其他特定应用使WCF通信可用。

如果没有任何描述的做法是好的,那么应该如何?

感谢分享您的知识:)


1-在MVC方面,授权通过[Authorize]属性完成。 此属性验证.ASPX授权cookie已创建且有效。

2在WCF上,您必须使用[PrincipalPermission(SecurityAction.Demand,Role =“Admin”)]修饰您的方法,其中“Admin”是MVC Web应用程序池标识。 通过这种方式,您可以确保只能从管理门户中调用此操作。 例如,这同样适用于客户门户。

3-为了更细化的安全性,您可以通过设置Call​​Context(WCF之一)将用户名从MVC发送到WCF。 CallContext.Set(“username”,value),并从拦截器的WCF中读取它。

链接地址: http://www.djcxy.com/p/22265.html

上一篇: WCF authorization from website client

下一篇: Web API authentication/authorization using SSO instead of OAUTH