cho*_*bo2 8 asp.net-membership asp.net-web-api simplemembership
我正在构建一个asp.net mvc web api应用程序,但不确定如何进行会员资格.
在我目前的项目中,我有这个
我自己Users Table和Role Table我没有使用asp.net会员资格,因为它带来了太多的包袱而且不符合我想要设计我的数据库的方式(我确实可以这样做,但它似乎很多工作)
A user可以有很多角色,role可以有很多用户.
我正在使用EF来完成对数据库的几乎所有调用.
在过去的项目中,我自己Authorize Attribute做了我自己对数据库的调用,并检查用户是否在该控制器/操作方法上允许的正确角色.
通过不做任何会员提供者,我失去了一些内置的功能,如User.IsInRole.我仍然可以使用,User.Identity.Name但我认为这是因为我设置的cookie.
现在在asp.net mvc 4/web api中执行此操作的最佳方法是什么?
谷歌搜索时我找到了"SimpleMembership",但还没读过多少内容.
User.Identity.Name如果我对用户进行身份验证,我可以使用我的webapi吗?
本文介绍了如何使用 SimpleMembership 为 Web API 创建自定义授权属性。您不必使用 SimpleMembership,尽管它非常灵活且易于使用。您可以采用本文中的相同概念并使用您的会员服务,只要您的服务可以验证特定用户是否处于某个角色、用户登录和注销以及验证他们是否经过身份验证。
如果您的服务未验证他们是否经过身份验证,您可以使用 User.Identity.IsAuthenticated,并且可以使用 User.Identity.Name 来获取当前登录的用户名;假设您的服务在用户登录时正确设置了 Thread.CurrentPrincipal。设置 HttpContext.Current.User 也是推荐的做法。当然,如果您使用 SimpleMembership,则不必担心这些。
如果您将 API 公开给公众,此自定义授权属性支持表单身份验证和基本身份验证。它与控制器上使用的授权属性不同,如果未授权,则返回 HTTP 状态代码 Forbidden;如果未验证,则返回 Unauthorized;而不是重定向到登录页面。
| 归档时间: |
|
| 查看次数: |
8986 次 |
| 最近记录: |