在.Net中实现应用程序授权和权利的最佳方式是什么。早期的AzMan用作标准方式。随着提供者模型的出现,至少角色被处理,但我不确定授权和&权利。我正在研究为角色/用户定义和访问操作级别权限的能力。实现上述目标的最合适方式是什么?
答案 0 :(得分:3)
根据this博客文章,ClaimsAuthorizationManager API是“下一代AzMan”。它只是一个API,并没有默认实现或管理GUI,所以它还不是真正的替代品。
答案 1 :(得分:2)
WIF /日内瓦的东西仍然不像AzMan那样“成熟”。我们已经使用AzMan大约3年了,我们的实现已经从直接链接演变为azman.dll到基于WCF的服务,该服务提供角色和操作。 WCF服务服务WinForms,WPF客户端,我现在正在使用它来使用Silverlight。我不认为我们很快就会从AzMan转换,至少直到生成前端才能设置WIF角色,操作等等,就像在azman中免费提供....
至于细节,我们在Active Directory中创建了azman存储区,并构建了一个.net dll,它在丑陋的COM azroles.dll周围提供了一个.net包装器。最重要的是,我们有一个WCF服务,基本上只是将角色和操作的请求直接传递给.net azman dll。角色和操作等作为字符串数组返回,供客户端处理。有两种方法可以通过服务进行身份验证。通过1)匿名身份验证,或2)Windows身份验证(pass-thru)。这意味着如果您提供用户名和密码,则使用匿名身份验证,该身份验证首先使用这些字符串对您进行身份验证。如果使用pass-thru / Windows身份验证,则WCF服务已经知道您是经过身份验证的Windows用户...可能存在将anon和Windows身份验证拆分为两个单独服务的参数...
通常,winforms和WPF客户端使用Windows身份验证来传递并获取可用角色,而Silverlight客户端使用匿名身份验证...